c++ 去掉字符 ‘\r‘、‘\n‘、‘\t‘、‘ ‘

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
	std::string ret = "\rfdsaggh\tfdsagah\nfadsssssssssssssssssafsadf\t\rfsadgghfsdfs\n";
	auto String_func = [&](string& s) -> string
	{
		if (s.empty())
			return s;

		std::string _strRet;
		char a = '\r', b = '\t', c = '\n', d = ' ';
		std::for_each(s.begin(), s.end(),
			[&](char& p_chA)
			{		
				if (p_chA == a || p_chA == b || p_chA == c || p_chA == d)
					return;
				_strRet += p_chA;
			});
		return _strRet;
	};

	std::string _Out = String_func(ret);
	cout << "string ouput:" << _Out << endl;         //fdsagghfdsagahfadsssssssssssssssssafsadffsadgghfsdfs
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++ 中要去除各种转义字符,可以使用字符串转义序列的反斜杠字符 '\\' 来表示转义字符本身。以下是一个示例代码来去掉常见的转义字符: ```cpp #include <iostream> #include <string> std::string removeEscapeCharacters(const std::string& str) { std::string unescapedStr; for (size_t i = 0; i < str.length(); ++i) { if (str[i] == '\\') { // 处理转义字符 switch (str[i + 1]) { case 'a': unescapedStr += '\a'; break; // 响铃符 case 'b': unescapedStr += '\b'; break; // 退格符 case 'f': unescapedStr += '\f'; break; // 换页符 case 'n': unescapedStr += '\n'; break; // 换行符 case 'r': unescapedStr += '\r'; break; // 回车符 case 't': unescapedStr += '\t'; break; // 制表符 case 'v': unescapedStr += '\v'; break; // 垂直制表符 case '\\': unescapedStr += '\\'; break; // 反斜杠字符 case '\'': unescapedStr += '\''; break; // 单引号字符 case '\"': unescapedStr += '\"'; break; // 双引号字符 case '\?': unescapedStr += '\?'; break; // 问号字符 case '0': unescapedStr += '\0'; break; // 空字符 default: unescapedStr += str[i + 1]; break; // 其它字符 } ++i; // 跳过下一个字符 } else { unescapedStr += str[i]; } } return unescapedStr; } int main() { std::string str = "Hello\\tWorld!\\nThis is a\\\"test\\\" string."; std::cout << "Original string: " << str << std::endl; std::string unescapedStr = removeEscapeCharacters(str); std::cout << "Unescaped string: " << unescapedStr << std::endl; return 0; } ``` 输出结果: ``` Original string: Hello\tWorld!\nThis is a\"test\" string. Unescaped string: Hello World! This is a"test" string. ``` 在上面的示例中,我们定义了一个函数 `removeEscapeCharacters`,它接受一个字符串作为输入,然后遍历字符串中的每个字符。如果遇到反斜杠字符 '\\',则根据转义字符的下一个字符进行处理,将转义字符替换为相应的字符。最后返回已去除转义字符字符串。在 `main` 函数中演示了如何使用该函数来去除转义字符

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值