我正在使用Windows 7和Visual C ++。我有一个控制台程序,我试图在开始和结束时修剪一个字符串。如果没有MFC,TrimLeft()
和TrimRight()
似乎无法运作。这是我到目前为止所拥有的。
pBrowser->get_LocationURL(&bstr);
wprintf(L" URL: %s\n\n", bstr);
SysFreeString(bstr);
std::wstring s;
s = bstr;
s.TrimStart("http://");
s.TrimEnd("/*");
wprintf(L" URL: %s\n\n", s);
我试图摆脱这个:
“http://www.stackoverflow.com/questions/ask”
到此:
“www.stackoverflow.com”
答案 0 :(得分:4)
TrimStart / End通常返回一个值,因此你必须将's'分别设置为等于s.TrimStart()和s.TrimEnd()的值。
试,
s = s.TrimStart("http://");
s = s.TrimEnd("/*");
答案 1 :(得分:1)
您应该按顺序使用find
/ rfind
(右查找 - 右查找)和substr
(子字符串)来执行您需要执行的操作。
1)使用find找到第一个模式的索引(例如http://) - 你已经知道它的长度,将它作为修剪字符串的原点添加到起始索引
2)使用find
3)使用substr
这些方法都在std :: string
中