我创建了一个javascript sort函数来按标题对文章列表进行排序。我将把所有可排序的单词转换为大写字母,这样我就不必处理与小写和大写相关的差异。我在创建一个表达式时遇到了麻烦,虽然这会消除不是[A-Z]的单词之前的所有字符。我对正则表达式不太熟悉,任何帮助都将不胜感激。我正在寻找这样的东西......
function cleanup(e) {
// delete leading not alphanum characters
// capitalize for sorting
// str.replace(/^\s*/, '').replace(/\s*$/, '');
return(e);
}
答案 0 :(得分:1)
如果使用i
分隔符,则正则表达式将不区分大小写,您可以在比较单词时使用它。
试试这个http://jsfiddle.net/5Rxs5/
将在文本前替换所有非a-zA-Z字符:
var str = "#$DSFfd#_)#$$";
alert(str.replace(/[^a-z]+/i, ""))
如果你想删除所有非a-zA-Z字符,请执行此操作(添加g
分隔符,这意味着全局):
var str = "#$DSFfd#_)#$$";
alert(str.replace(/[^a-z]+/gi, ""))
大写第一个字符
var str = "#$abcd#_)#$$";
str = str.replace(/[^a-z]+/i,"");
str = str.match(/(^.)(.+)/);
str = str[1].toUpperCase() + str[2];
alert(str);
通知:
Abcd#_)#$$
答案 1 :(得分:1)
试试这个:
str.replace(/^[^a-z]+/i, '').toUpperCase();
答案 2 :(得分:1)
str.replace(/^[^\w\d]*/, '');