我的文字如下:
[emoji]
现在我想用"head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5**
">data1..|"
我使用的是:"|"
但这没有帮助,因为它给我的数据如下:
".replace(/>\S+\||>\S+$/g,"|");"
代替"head1|head3|"
我无法找到合适的方法。
答案 0 :(得分:2)
您可以使用
>\S+?(?:\||$)
请参阅regex demo
重点是让\S+
懒惰,并缩短我们可以使用的模式,将>\S+?
放在交替组之前。
模式详情:
>\S+?
- 一个文字>
后面跟着1个非空格符号,但最少可达(?:\||$)
- 文字|
或字符串结尾。答案 1 :(得分:0)
一个简单的方法:),正在尝试这样
var str = "head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5";
console.log(str.replace(/>[a-z1-9,]+/g,"|").replace(/\|+/g, "|"));

>[a-z1-9,]+
将选择>data1,data2,data3
然后用单|
|
:)
答案 2 :(得分:0)
您可以使用:
> [α-Z0-9,] + \ |
然后每次用单|
替换它。