gpt4 book ai didi

Javascript - 用于在未转义字符上拆分字符串的正则表达式,例如|但忽略\|

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:40 25 4
gpt4 key购买 nike

我从我拆分的文件中读取了一个字符串 |特点。例如字符串是

1|test pattern|prefix|url|postfix

所以 split 必须总是给我 5 个子字符串,在上面的例子中是

["1", "test pattern", "prefix", "url", "postfix"]

当这五个子串中的任何一个包含 | 时,问题就来了特点。我会将其存储为转义\|

1|test pattern|prefix|url \| title |postfix

现在,您可以看到 string.split('|') 不会给我想要的结果。想要的结果是

["1", "test pattern", "prefix", "url \| title ", "postfix"]

我尝试了一些正则表达式,但没有一个能给出预期的结果。

string.split(/[^\\]\|/)  //["", "", "prefi", "$url \| $titl", " postfix"]

看起来这只有在负面回溯的情况下才有可能,但我无法让它工作

最佳答案

另一种解决方案:

"1|test pattern|prefix|url \\| title |postfix"
.replace(/([^\\])\|/g, "$1$1|")
.split(/[^\\]\|/);

也就是说,您需要使用另一个反斜杠对初始字符串中的反斜杠进行转义才能使其正常工作:

"1|test pattern|prefix|url \\| title |postfix"
^

可用的工作演示 here .

关于Javascript - 用于在未转义字符上拆分字符串的正则表达式,例如|但忽略\|,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280149/

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