将字符串中的html转义字符转换为字符

背景:

解析web的源文件时,发现文本节点的text中有转义字符,比如 Oil & Gas test,其中&对应的字符为&。

那么为了获得正确的text,所以就需要对该text中的转义字符进行转换。

以下代码以转换&为例,仅供参考。


code:

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

//将字符串中的&转换为&
//可以将此方法扩展到所有的转义字符。。。

void main()
{
	string str = "Oil & Gas test";//转义字符&的实际表达是&
	cout << "str转换之前为:" << str << endl;
	//string strAfter = ReplaceStr(str);
	string::iterator it = str.begin();
	string::iterator end = str.end();
	string::iterator it_temp = it;
	string::iterator end_temp = it;
	for (; it != end; ++it)
	{
		if ((*it) == '&')
		{
			it_temp = it;
			end_temp = it.operator+=(4);
			if (*(end_temp) == ';')
			{
				end_temp = it.operator+=(1);
				str.replace(it_temp, end_temp, 1, '&');
				break;
			}
		}
	}
	cout << "str转换之后为:" << str << endl;
	system("pause");
}

result:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值