2017-01-12 1 views
0

우분투 14.04에서 Qt 4.8을 사용하고 있습니다.
현재 Windows 응용 프로그램을 포팅하려고합니다 ... 작성자는 을 부스트에 집중적으로 사용했습니다.
이미 많은 것을 대체했습니다. 부스트 -으로 Qty와 동일한 구성을 사용합니다.부스트 토크 나이저 표현/구조에 해당하는 Qt

string command; 
... 
boost::char_separator<char> sep(",\t\r "); 
boost::tokenizer<boost::char_separator<char>> tokens(command, sep); 

그것을위한 Qt는 해당이 있습니까 :
지금 나는이 일에 발견?
내가 시도 :

QStringList tokens = QString(command.data()).split(QRegExp("\\s+"));  

하지만 꽤 괜찮을 것 같지 않습니다 ...
1) 첫째 : 그것은 원래의 응용 프로그램처럼 작동하지 않습니다.
2) 두 번째 : 나는 항상 빈 토큰을 얻는다. 이상하고 잘 모르겠다 ...!?!

이 문제를 해결하기 위해 도움을 주거나 아이디어를 공유해 주실 수 있습니까?
시간과 인내심에 미리 감사드립니다.

+0

단지 경고 : 부스트의 모든 것이이 QT 대안을 가지고있다. 부스트를 Qt로 대체해야하는 이유는 무엇입니까? 엄청난 노력처럼 보입니다. 부스트는 크로스 플랫폼이며, 그대로 사용합니다. – AMA

+0

변환 된 전화가 거의 없습니다 _ 이제 막대한 노력이 필요하지만 선택의 여지가 없습니다. 이것들은 요구 사항입니다. 이 위의 경우 : 나는 그것이 할 수 있다고 확신합니다. –

+1

'split (QRegExp ("[, \ t \ r]"))'또는'split (QRegExp ("[, \ t \ r]"), QString :: SkipEmptyParts)는 어떨까요? –

답변

1

는 질문에 의견에 명시된 바와 같이,이 솔루션은 사용하는 것입니다

split(QRegExp("[,\t\r ]"), QString::SkipEmptyParts) 
관련 문제