Javascript正则表达式 - 在大写字母之前删除字母并用空格替换_

时间:2012-12-19 18:17:58

标签: javascript regex

我有一个我正在迭代的字符串列表。其中一些是

data-Start, data-End_Start, Name, ID, data-Allocate_Memory

我需要这种格式

Start,End Start, Name, ID, Allocate Memory

所以我需要删除“data-”然后用空格替换_。在regexp方面我很无能为力。任何帮助都会很好:)

2 个答案:

答案 0 :(得分:3)

要以第一个大写字母开头,您可以使用:

str = str.replace(/^[^A-Z]+/,'');

要用空格替换_,只需使用:

str = str.replace(/_/g,' ');

由于这两个正则表达式无法合理组合,因此可以将它们链接起来:

str = str.replace(/^[^A-Z]+/,'').replace(/_/g,' ');

答案 1 :(得分:0)

这将替换字符串的 start data - 的出现次数:

str.replace(/^data-/, "")

这取代了所有下划线:

str.replace(/_/g, " ")

全部放在一起:

var a = ["data-Start", "data-End_Start", "Name", "ID", "data-Allocate_Memory"];
for(var i = 0; i < a.length; i++) {
    a[i] = a[i].replace(/^data-/, "").replace(/_/g, " ");
}