Trim 一个变量的值,直到它到达某个字符

Trim a variable's value until it reaches to a certain character

所以我的想法是这样的..

var songList = ["1. somesong.mid","13. abcdef.mid","153. acde.mid"];
var newString = myString.substr(4); // i want this to dynamically trim the numbers till it has reached the .

// 但我想删除 1. 13. 153. 等等。 // 我的数组中有更多值,开头

不同 'numbers'

所以我在这方面遇到了麻烦任何人都可以帮我找到一个更简单的解决方案,它可以动态地切掉第一个字符直到'。' ?

你可以这样做

var songList = ["1. somesong.mid","13. abcdef.mid","153. acde.mid"];
songList.forEach(function(value, i){
    songList[i] = value.replace(/\d+\./, ''); //value.substr(value.indexOf('.') + 1)
});

演示:Fiddle

您可以使用字符串 .match() method 提取直到并包括第一个 . 的部分,如下所示:

var newString = myString.match(/[^.]*./)[0];

假设匹配。如果您需要允许不发生匹配,那么也许:

var newString = (myString.match(/[^.]*./) || [myString])[0];

如果你说你想删除数字并保留字符串的其余部分,那么一个简单的 .replace() 就可以做到:

var newString = myString.replace(/^[^.]*. */, "");