如何编写正则表达式来获取任何输入字符串并仅输出字母?

时间:2012-02-19 06:18:51

标签: javascript regex

如何编写正则表达式来获取任何输入字符串并仅输出字母?

输入:

'This is a sentence. &)$&(@#1232&()$123!!ª•º–ª§∞•¶§¢• This is an example of the input string. '

输出:

'thisisasentencethisisanexampleoftheinputstring'

2 个答案:

答案 0 :(得分:2)

您可以删除所有非字母:

var input = 'This is a sentence. &)$&(@#1232&()$123!!ª•º–ª§∞•¶§¢• This is an example of the input string. ';
var output = input.replace(/[^a-zA-Z]/g, "");

如果您希望输出全部为小写,请将.toLowerCase()添加到末尾,如下所示:

var output = input.replace(/[^a-zA-Z]/g, "").toLowerCase();

作为解释,此正则表达式匹配所有不是a-zA-Z的字符。正则表达式末尾的g标志告诉它在整个字符串中替换所有字符串(而不仅仅是它找到的第一个匹配项)。并且,""告诉它用空字符串替换每个匹配(有效地删除所有匹配字符)。

答案 1 :(得分:2)

var text = 'This is a sentence. &)$&(@#1232&()$123!!ª•º–ª§∞•¶§¢• This is an example of the input string. ';
text.replace(/[^a-z]/ig, '');