我这里有这个字符串:
<br><br>|Me-Foo|: htht
我想要做的是将其转换为:
<br><br>Me: htht
基本上只更改两个“|”内的部分,记住“Foo”可能会更改为另一个名称,例如“john”或其他名称。..但我不知道怎么做!?任何人的快速解决方案?
谢谢
我这里有这个字符串:
<br><br>|Me-Foo|: htht
我想要做的是将其转换为:
<br><br>Me: htht
基本上只更改两个“|”内的部分,记住“Foo”可能会更改为另一个名称,例如“john”或其他名称。..但我不知道怎么做!?任何人的快速解决方案?
谢谢
你可以用...删除它
str = str.replace(/\|(\w+)-\w+\|/, '$1');
您没有指定管道之间出现的约束。如果单词字符(\w
)不够灵活,请根据需要进行调整。
indexOf
您可以使用、lastIndexOf
和substring
js 方法的组合轻松实现此目的...文档
从您的示例中很难说出一般情况,但让我尝试一下:
str = str.replace(/\|([^|]+)-Foo\|/, '$1');
这有帮助吗?
theString = theString.replace(/\|(.+)-.+\|/, "$1");
给出了几个答案。这个代替
"anything*& 45|anything8 \$-().?anything| 90fanything"
和
"anything*& 45anything8 \$ 90fanything"
最好的答案取决于管道之间可能存在什么。