例如,我有一个用户输入电话号码.
cout << "Enter phone number: ";
INPUT: (555) 555-5555
cin >> phone;
Run Code Online (Sandbox Code Playgroud)
我想从字符串中删除"(",")"和" - "字符.我看了字符串删除,查找和替换功能但是我只看到它们根据位置操作.
是否有一个字符串函数,我可以用来传递一个字符,"(例如,并让它删除字符串中的所有实例?
如何在C++中从字符串对象中删除空格.
例如,如何从下面的字符串对象中删除前导和尾随空格.
//Original string: " This is a sample string "
//Desired string: "This is a sample string"
Run Code Online (Sandbox Code Playgroud)
据我所知,字符串类没有提供任何删除前导和尾随空格的方法.
要添加问题,如何扩展此格式以处理字符串的单词之间的额外空格.例如,
// Original string: " This is a sample string "
// Desired string: "This is a sample string"
Run Code Online (Sandbox Code Playgroud)
使用解决方案中提到的字符串方法,我可以考虑分两步执行这些操作.
\0从给定字符串中删除char 的正确方法是什么.
我没有成功:
std::string msg(data); // Data comes from a remote system connected via socket...
msg.erase(std::remove(msg.begin(), msg.end(), '\0'), msg.end());
Run Code Online (Sandbox Code Playgroud)
这给出了编译错误:
error: cannot convert ‘std::__cxx11::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >}’ to ‘const char*’ for argument ‘1’ to ‘int remove(const char*)’
Run Code Online (Sandbox Code Playgroud)
data来自使用套接字的远程系统,并且/0由于源逻辑而在中间包含几段代码.
我已将文本文件内容加载到std :: string.我想从加载的字符串中删除空格.
方法1:
在循环语句中使用string.find()扫描字符串,并使用string.erase()删除空格;
方法2:
使用循环语句中的string.find()扫描字符串,并使用string.append()将非空白字符复制到新的string()变量;
方法3:
使用循环语句中的string.find()扫描字符串,并使用string.replace()将非空白字符复制到新字符串(size_t n,char c)变量;
方法4:
分配char*(使用malloc [源字符串的大小])
在循环语句中使用string.find()扫描字符串,并使用strcpy将非空白字符复制到char*变量,然后使用strcat();
最后将char*复制到一个新的字符串
free char*