-5
例如:我试图从字符串“abcdefghijklmnopqrstuvwxyz”返回“abcdijklqrstyz” 我试过str.splice,但只允许我提取连续字符。是否有可能从javascript中的字符串中提取多个段
例如:我试图从字符串“abcdefghijklmnopqrstuvwxyz”返回“abcdijklqrstyz” 我试过str.splice,但只允许我提取连续字符。是否有可能从javascript中的字符串中提取多个段
您可能正在寻找正则表达式(正则表达式)。下面是一个例子,说明如何在你的例子中得到你所要求的。
var match = 'abcdefghijklmnopqrstuvwxyz'.match(/^(.{4})(?:.{4})(.{4})(?:.{4})(.{4})(?:.{4})(.+)$/);
match.shift(); // This removes the passed in string from the results, leaving the matches
console.log(match.join(''));
表达可以分解为以下:^
在字符串[或线]的开头开始的匹配标准。 (.{4})
做了几件事情。括号使比赛的内容最终进入自己的“捕捉组”。 .
的意思是“匹配除了换行符(非常多)以外的任何字符”。 {4}
表示匹配下列序列总共4次,不多也不少。字符串的其余部分只是一个排列。你会发现唯一的其他区别是(?:
这意味着它是一个非捕获组,并且不会返回内容。这可能已被省略,但对于一些人来说,它在阅读时提供更多的清晰度。最后,$
在最后意味着“结束匹配在字符串[或行]的最后”。
看到行动中的例子,并在这里玩弄它:https://regex101.com/r/X54DKC/1。关于构建正则表达式也有很多文档。这是一个很棒的教程网站:https://regexone.com/。
请改正您的问题并关注[SO格式指南](http://stackoverflow.com/editing-help) –