正则表达式是最强大的。但是,它们返回的结果有时是无用的:
例如:
我想使用分号管理 CSV 字符串。我定义了一个字符串,如:
var data = "John;Paul;Pete;Stuart;George";
如果我使用指令:
var tab = data.match(/;/g)
之后,“tab”包含 4 个“;”的数组 :
tab[0]=";", tab[1]=";", tab[2]=";", tab[3]=";"
这个数组在目前的情况下没有用,因为我在使用正则表达式之前就知道了。
事实上,我想做的是两件事:
- 1stly:抑制第四元素(不是“Stuart”为“Stuart”,而是“Stuart”为第四元素)
第二:用“Ringo”替换第三个元素,以便返回(回到你曾经属于的地方!)以下结果:
data == "John;Paul;Ringo;George";
在这种情况下,我非常希望获得一个给出分号位置的数组:
tab[0]=4, tab[1]=9, tab[2]=14 tab[3]=21
而不是无用的(在这种特定情况下)
tab[0]=";", tab[1]=";", tab[2]=";", tab[3]=";"
所以,这是我的问题:有没有办法使用正则表达式来获取这个数字数组?