我输入的文字包含'喜欢这篇文章'弗兰克的卷轴电影评论“
如何摆脱'
我试过了
.replace (/\'/ig, '');
.replace ('\'', '');
但似乎'现在想要删除...
我在想'可能编码的utf-8或其他东西
任何想法
答案 0 :(得分:5)
正则表达式[^\w ]
将匹配任何非字母数字或空格的内容。
您可以使用它来确保删除所有撇号/引号/等,即使使用Unicode完成 - 尽管问题中没有足够的信息来确定这是否可以接受。
答案 1 :(得分:5)
这是迟到的回复,但总结了答案的质量答案,代码解决了不同的做法。
检测撇号时不需要使用转义序列。正确的正则表达式是
/'+/g
这将从正则表达式中删除所有撇号,如果出现'或''或'''之类的事件,等等。
以下是代码段,它只从字符串中删除一个撇号实例。
使用JavasScript
var name = document.getElementById('name').value;
name = name.replace(/'/,'')
alert('The result string ' + name);
PHP
$subject ="Mik's sub";
$resplace = "";
$search ="'";
$new_str = str_replace($search, $replace, $subject);
echo "New Subject : $new_str";
使用JavaScript的Unicode
var regex = /\u0027/;
name = name.replace(regex,'')
答案 2 :(得分:2)
假设您正在使用Java,您是否尝试过.replaceAll(“'”,“”)?适合我。
答案 3 :(得分:1)
'不应该被转义。试着赤身裸体,没有反斜杠。
答案 4 :(得分:0)
如果您只想在结果中包含字母和空格,则可以始终匹配不其中之一的任何字符,例如......
.replace (/[^a-zA-Z ]+/ig, '');
您当然也可以添加您希望允许的任何其他字符到正则表达式。
答案 5 :(得分:0)
撇号不是元字符。你不应该逃脱它。
答案 6 :(得分:0)
如果您希望选择性地删除(或用空格代替)撇号,而不是英尺英制符号',请使用:
val apostropheRegex = """(?<=[a-zA-Z])'(?=[a-zA-Z])"""
"john's carpet is 5' x 8'".replaceAll(apostropheRegex, "XXX") // johnXXXs carpet is 5' x 8'
它的意思是“替换两个字母之间的所有符号'。