按字母的每个新实例拆分字符串
搜索时找不到任何东西,但我需要按字母的每个新实例拆分一个字符串。我知道 split() 会输出: (M,B,A,M,M,D,X,X,M,M,M,G,G,M,M,Z) 但不知道如何分组他们。
例如:“MBAMMDXXMMMGGMMZ”应该输出到:M B A MM D XX MMM GG MM Z
str = "MBAMMDXXMMMGGMMZ"
newStr = str.split("")
console.log(newStr)
回答
一种正则表达式方法是执行以下查找和替换:
Find: (.)(?!1)
Replace: $1[ ]
Find: (.)(?!1)
Replace: $1[ ]
此正则表达式模式将捕获每个该字母不后面跟有相同字母,并在这种情况下插入所捕获的字母之后的空间中:
(.) capture each letter
(?!1) which is NOT followed by the same letter (i.e. is followed by a different letter)
示例脚本: