如何使用正则表达式转换字符串

时间:2012-10-14 21:32:28

标签: javascript regex

如何使用正则表达式转换字符串,以便它只包含字母(a-z)或连字符。 它应该摆脱" ' ! ? .等等。即使它们出现多次。

// if i have e.g.
var test = '"test!!!"';

// how can i get the value "test"?

可以帮助sombody。 RegEx对我来说是全新的。

5 个答案:

答案 0 :(得分:1)

只需replace您不想要的字符:

'"test!!!"'.replace(/[^a-z-]/gi, '')

[^a-z-]匹配除a-z和连字符之外的所有字符。 /g标志使正则表达式多次应用。 /i标志(可选)使其与大小写不匹配,即不替换大写字符。

答案 1 :(得分:1)

这非常简单:您构建了一个匹配character class所需字符的everything except,并在replacing每次出现时将其删除( global flag)空字符串:

return str.replace(/[^a-z-]/g, "");

答案 2 :(得分:0)

 str = "hello!! my + name $ is slim-shady";
   console.log(str.replace(/[^a-z-]+/g, ''));

$ node src/java/regex/alphanum.js 
hellomynameisslim-shady

答案 3 :(得分:0)

对任何字符串变量使用replace方法,并指定要删除的字符。

以下是一个例子:

 var sampleString = ("Hello World!!");    //Sample of what you have. 
 var holdData = sampleString.replace(/!!/gi, '');
 window.alert(holdData);

答案 4 :(得分:-1)

var str = "test!!!";
str = str.replace(/[^A-Za-z\-]/g,"");