例子:我试图返回" abcdijklqrstyz"来自字符串" abcdefghijklmnopqrstuvwxyz" 我尝试过str.splice,但这只允许我提取顺序字符。
答案 0 :(得分:0)
您可能正在寻找正则表达式(正则表达式)。以下是如何在示例中获取所请求的示例。
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/。