正则表达式来删除撇号

问题描述:

我有一个包含“喜欢在这个文本‘弗兰克的卷轴电影评论’正则表达式来删除撇号

我怎么摆脱的”

我曾尝试输入文本

.replace (/\'/ig, ''); 
.replace ('\'', ''); 

但似乎'现在想要删除...

我在想'可能编码utf-8或东西

任何想法

+0

什么编程语言!? – 2009-08-02 21:38:33

+0

你确定这是一个'而不是MS Word使用的弯曲的? – Javier 2009-08-02 21:39:52

+3

请告诉我你没有这样做,所以你可以用文本编写一条SQL命令。 – Andrew 2009-08-02 21:40:53

正则表达式[^\w ]将匹配任何非字母数字或空格的东西。

你可以使用它来确保所有的撇号/引号/ etc被移除,即使用Unicode完成 - 尽管问题中没有足够的信息来确定这是否可以接受。

假设你正在使用Java,你试过.replaceAll(“'”,“”)?适用于我。

如果你只是想有字母和空格在你的结果,你总是可以匹配任何字符那些,如一个...

.replace (/[^a-zA-Z ]+/ig, ''); 

当然,你也可以添加你想要允许的任何其他字符到正则表达式。

'应该不需要被转义。尝试将它放在裸露的地方,不要使用反斜杠。

撇号不是元字符,你不应该逃避它。

这是迟到的答复,但总结答案与质量答案与代码处理不同的方式。

检测撇号时,不需要使用转义序列。正确的正则表达式将

/'+/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

var regex = /\u0027/; 
name = name.replace(regex,'')