删除字符后的所有内容(以及字符)

Jam*_*rzs 10 c++ string std visual-c++

我有一个像这样的字符串:

std::string string1 = "xjdfhfakdjs%54k34k.-jk34";
Run Code Online (Sandbox Code Playgroud)

我只需要""xjdfhfakdjs",但字符串是动态的,不是硬编码所以我不知道它是什么,长度等等所以我想删除%之后的所有内容,还有%char.

我怎么能这样做?

Edw*_*per 19

std::string the_prefix_you_want = string1.substr(0, string1.find("%"));
Run Code Online (Sandbox Code Playgroud)

请参阅:http://www.cplusplus.com/reference/string/string/find/http://www.cplusplus.com/reference/string/string/substr/了解更多详情


小智 8

我相信这会奏效。

std::string mystr = string1.substr(0, string1.find("%", 0));
Run Code Online (Sandbox Code Playgroud)