删除字符(以及字符)之后的所有内容
Removing everything after character (and also character)
我有一个这样的字符串:
std::string string1 = "xjdfhfakdjs%54k34k.-jk34";
我只需要获取"xjdfhfakdjs",但字符串是动态的,不是硬编码的,所以我不知道它是什么,长度等,所以我想删除%之后的所有内容以及%字符。
我该怎么做?
std::string the_prefix_you_want = string1.substr(0, string1.find("%"));
有关更多详细信息,请参阅:http://www.cplusplus.com/reference/string/string/find/和 http://www.cplusplus.com/reference/string/string/substr/
我相信
这会奏效。
std::string mystr = string1.substr(0, string1.find("%", 0));
做了一个类似 C 的事情,它以当前的形式工作,但肯定比上面显示的方法更笨拙:
#include <windows.h>
void main ()
{
int i;
wchar_t searchString[100];
wchar_t * stringReturn;
memset(searchString, L' ', sizeof(stringReturn));
wcscpy_s(searchString, 100, L"String\ to search");
stringReturn = wcschr (searchString, '');
if (stringReturn)
{
for (i = 0; i < (int)(stringReturn - searchString); i++) stringReturn[i] = searchString[i];
stringReturn[i] = L' ';
wcscpy_s(searchString, 100, stringReturn);
}
}
可以轻松修改以适用于动态字符串。
string1.erase (string1.find ("%"), string1 [string1.length() - 1]);
这应该行得通。
相关文章:
- 在C++的字符串中搜索和删除某些字符
- 删除/替换C++字符串中的多字符 (ÿû)
- 如何删除字符串中的前 2 个字符(如果它有"-")
- 如何在 getline 中删除/忽略超过特定数字的字符?
- 如何在 c++ 中删除字符串中的某些字符?
- 从双引号括起来的子字符串中删除特定字符
- 如何从字符数组(不是字符串数组)中删除符号
- C++ 从 std::string 中删除所有非数字字符
- xcode 从源代码中删除奇怪的控制字符
- C++从句子中删除给定字符的程序不起作用
- 正在从C++中的字符数组中删除字符
- 如何检查字符串中的最后一个字符是否是某个字符并将其从字符串中删除?(C++)
- C++从字符末尾删除值
- 从字符数组中删除双空格
- 循环以从字符数组中删除过多的空格 (C++)
- 如何删除新分配的字符,这也是函数返回值?
- 删除字符串向量中的字符重复
- 将一个字符替换为字符串中更多数量的字符,而不删除C++中的其他字母
- 删除以前打印的字符
- 回文查找器:非字母数字字符删除问题