我的问题是,如何在 C++ 中拆分字符串?例如,我有`
string str = "[ (a*b) + {(c-d)/f} ]"
- 它需要单独获取整个表达式,例如[,(,a,*,b,......
- 而且我只想将括号[,(,),{,(,),},]放在正确的位置
我怎样才能用一些简单的方法做到这些
我的问题是,如何在 C++ 中拆分字符串?例如,我有`
string str = "[ (a*b) + {(c-d)/f} ]"
我怎样才能用一些简单的方法做到这些
这是我必须做到的一种方法,
string expression = "[ (a*b) + {(c-d)/f} ]" ;
string token ;
// appending an extra character that i'm sure will never occur in my expression
// and will be used for splitting here
expression.append("~") ;
istringstream iss(expression);
getline(iss, token, '~');
for(int i = 0 ; i < token.length() ; i++ ) {
if(token[i] != ' ' ) {
cout<<token[i] << ",";
}
}
输出将是:[,(,a,*,b,),+,{,(,c,-,d,),/,f,},],