0

我这里有这个字符串:

<br><br>|Me-Foo|: htht

我想要做的是将其转换为:

<br><br>Me: htht

基本上只更改两个“|”内的部分,记住“Foo”可能会更改为另一个名称,例如“john”或其他名称。..但我不知道怎么做!?任何人的快速解决方案?

谢谢

4

4 回答 4

1

你可以用...删除它

str = str.replace(/\|(\w+)-\w+\|/, '$1');

您没有指定管道之间出现的约束。如果单词字符(\w)不够灵活,请根据需要进行调整。

于 2012-04-17T11:14:09.443 回答
0

indexOf您可以使用、lastIndexOfsubstringjs 方法的组合轻松实现此目的...文档

于 2012-04-17T11:16:21.603 回答
0

从您的示例中很难说出一般情况,但让我尝试一下:

str = str.replace(/\|([^|]+)-Foo\|/, '$1');
于 2012-04-17T11:18:49.850 回答
0

这有帮助吗?

theString = theString.replace(/\|(.+)-.+\|/, "$1");

给出了几个答案。这个代替

"anything*& 45|anything8  \$-().?anything|  90fanything"

"anything*& 45anything8  \$  90fanything"

最好的答案取决于管道之间可能存在什么。

于 2012-04-17T11:20:39.857 回答