我想用C++中的空格替换除字母,数字和句点之外的所有内容。在C++中结合正则表达式
任何人都可以请给我一个正则表达式在c + +,我可以使用?
我到目前为止使用的是[^[:alnum:]]
,但只适用于字母和数字。
谢谢!
我想用C++中的空格替换除字母,数字和句点之外的所有内容。在C++中结合正则表达式
任何人都可以请给我一个正则表达式在c + +,我可以使用?
我到目前为止使用的是[^[:alnum:]]
,但只适用于字母和数字。
谢谢!
std::replace_if(line.begin(), line.end(),
[](char ch){ return !isalnum(ch) && ch != '.'; }, ' ');
无需争论逃逸。
非常感谢!这工作。 –
我不是一个C++的人,但你可以尝试添加点的正则表达式:
[^[:alnum:].]
一种替代方案:
[^a-zA-Z0-9.]
我认为Gayathri Jeyaram想用白色空间(可能是空格)替换所有不是(字母数字或点)的,我不确定是否需要包含'\ s'。 –
嗨,这没有奏效。 –
'除了字母,数字和句点与空格... ...你能告诉我们一个例子吗? –
我认为你只需要给你的角色类添加一段时间:'[^ [:alnum:]。]' – Galik
@Galik小心点,这个点需要逃过AFAIK。 –