-1
string test =「F'XSXESS'」;解析出包含兩個撇號的字符串
我該如何解析F'XSXESS',以便抓取撇號(XSXESS)中的信息?
輸出應該是XSXESS。
任何想法如何我應該這樣做?
感謝您提供任何幫助!
string test =「F'XSXESS'」;解析出包含兩個撇號的字符串
我該如何解析F'XSXESS',以便抓取撇號(XSXESS)中的信息?
輸出應該是XSXESS。
任何想法如何我應該這樣做?
感謝您提供任何幫助!
你基本上想要做的是,通過字符串中的所有字符,並在特定事件(在你遇到的情況下遇到\'
)切換解析狀態。
這裏一個小例子:
int main() {
std::string test = "FFF'XSXSXSX'FFFFF";
std::string result;
bool state = 0;
for(int i = 0; i < test.length(); i++) {
if(test.at(i) == '\'') {
state = !state;
continue;
}
if(state)
result.push_back(test.at(i));
}
std::cout << result << std::endl;
return 0;
}
爲了簡單起見,我選擇一個bool來形容我現在的狀態。此代碼可能仍然不是最好的解決方案,因爲這也會解析FF'XX'FFFF'CC'
至FFCC
。你可以通過添加一個「exit」狀態來解決這個問題,這個狀態表明瞭解析過程的結束。
希望我能幫上忙。
感謝您的幫助! – ZeroCG 2015-04-06 15:10:47