gpt4 book ai didi

javascript - 当出现某些特定字符时如何分割字符串

转载 作者:行者123 更新时间:2023-12-02 21:01:20 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数将字符串作为输入并返回字符串数组。输入字符串是由串联的小部分组成的代码。每个部分都由数字和字母组成,并以空格分隔,并且仅以特定方式结束。

每个部分是这样的:

74a 2b 23d 1P QQ

它只会以这些方式结束:

QQ Q 或其他与 X 的混合,如 3X12X >。所以当我看到这三个部分时,我明白这部分已经结束了,所以我应该在它之后分开。

分割(74a 2b 23d 1P QQ 45b 1111a Q 3X 11a 5c 5X QQ 11a 65e 45b 36X 44a 88a 3a 245b 656c QQ)

应该给出这个输出:

[74a 2b 23d 1P QQ, 45b 1111a Q, 3X, 11a 5c 5X, QQ, 11a 65e 45b 36X, 44a 88a 3a 245b 656c QQ]

最佳答案

您可以使用模式 /\s*(.*?(\bQQ?|X))/g 并访问捕获组来获取不带前导空格的匹配项。这使用非贪婪通配符 .*? 后跟与您的任一结束选项匹配的替代。

const s = "74a 2b 23d 1P QQ 45b 1111a Q 3X 11a 5c 5X QQ 11a 65e 45b 36X 44a 88a 3a 245b 656c QQ";

const pattern = /\s*(.*?(\bQQ?|X))/g;
const result = [...s.matchAll(pattern)].map(e => e[1]);

console.log(result);

关于javascript - 当出现某些特定字符时如何分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61348660/

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