提问人:javierMarquez 提问时间:5/13/2023 更新时间:5/13/2023 访问量:218
C++ 剪掉 std::string 的一部分并分配另一个
C++ cut out part of std::string and assign another one
问:
我想获取 std::string 的一部分,将该部分分配给另一个空的 std::string,然后从原始字符串中删除该部分。我想知道如何在一行中做到这一点?
有没有字符串方法可以做这样的事情?->
std::cout << oldStr; // "Hello world!";
std::string newStr = oldStr.someMethod("Hello");
std::cout << newStr; // "Hello"
std::cout << oldStr; // " world!"
答:
3赞
Shuhul Mujoo
5/13/2023
#1
如果您知道确切的字符串,则可以使用 substring 方法substr
std::string oldStr = "Hello world!";
std::cout << oldStr << std::endl; // "Hello world!"
std::string newStr = oldStr.substr(0, 5);
oldStr = oldStr.substr(6);
std::cout << newStr << std::endl; // "Hello"
std::cout << oldStr << std::endl; // " world!"
评论
0赞
user4581301
5/13/2023
注意:您可以放弃 .默认情况下,读取到 ., 11
substr
string
1赞
Pete Becker
5/13/2023
此代码中的任何内容都不需要额外的内容。 结束一行。std::endl
’\n’
1赞
Remy Lebeau
5/13/2023
如果目标子字符串不在原始字符串的前面,则需要使用而不是删除它:erase()
substr()
std::string newStr = oldStr.substr(index, length); oldStr.erase(index, length);
评论
std::basic_string
oldStr pattern . newStr =