我想使用通配符分割字符串。我需要将字符串拆分为子字符串,在其中找到以下模式 ${1-9]$$127$。例如分割可能是“$1$$127$”、“$2$$127$”、“$3$$127$”等。
我尝试使用以下方法执行此操作:
var myString = "$1$$127$$$3.25$$$$$$1$$127$$$3.25$$$$$$4$$185$$$3.12$$$$$";
myCount = (myString.split("$"+/[1-9]/+"$$127$").length - 1);
myArray = myString.split("$"+/[1-9]/+"$$127$");
但这似乎不起作用。
非常感谢任何想法。
最佳答案
这里有两件事出了问题。首先,看起来您正在尝试将正则表达式传递给 split,但实际上您正在构造并传递一个字符串,因此它将在完全匹配的情况下进行拆分。其次,$
是正则表达式中的特殊字符,因此需要进行转义。更新为使用正则表达式,您的代码应该是:
var myString = "$1$$127$$$3.25$$$$$$1$$127$$$3.25$$$$$$4$$185$$$3.12$$$$$";
myCount = (myString.split(/\$[1-9]\$\$127\$/).length - 1);
myArray = myString.split(/\$[1-9]\$\$127\$/);
关于javascript - 将通配符与 javascript split 函数结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288998/