gpt4 book ai didi

javascript - 按某些字母拆分字符串,同时跳过某些字母

转载 作者:行者123 更新时间:2023-12-04 12:15:20 34 4
gpt4 key购买 nike

我写了一些代码来用某些字母分割给定的字符串。下面是代码:

let split_by_each_letter_here = "KM";
let re = new RegExp("(?<=[" + split_by_each_letter_here + "])");
let ans = "YGMGPKPDDFLKJJ".split(re);
returns -> [ 'YGM', 'GPK', 'PDDFLK', 'JJ' ]
请注意数组中的每个拆分是如何位于“K”或“M”的(在 split_by_each_letter_here 中指定)。
我想修改此代码,以便每次在我的字符串中直接在一个拆分字母(“K”或“M”)之后有一个“P”时,该字符串不会拆分。例如:
let str = "YGMGPKPDDFLKJJ";
// the array should be ['YGM', 'GPKPDDFLK', 'JJ'];
请注意,由于第一个 'K' 后面紧跟着一个 'P',所以字符串
不在那里 split 。但是,它确实在第二个“K”处 split ,因为
没有直接跟在“K”之后的“P”。
使用 RegEx 可以实现我想要的输出吗?我该怎么做呢?
谢谢!

最佳答案

我们可以尝试使用match这里如下:

var input = "YGMGPKPDDFLKJJ";
var matches = input.match(/.+?(?:[KM](?!P)|$)/g);
console.log(matches);

以下是正则表达式模式的解释:
.+?        match all content up to the nearest
(?:
[KM] the letters K or M
(?!P) which are NOT immediately followed by P
| OR
$ the end of the input (consume everything until the end)
)

关于javascript - 按某些字母拆分字符串,同时跳过某些字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68450074/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com