复杂的Javascript字符串修改

时间:2012-04-17 11:13:16

标签: javascript string

我在这里有这个字符串:

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

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

<br><br>Me: htht

基本上只改变两个“|”内的部分,记住“Foo”可能会改变另一个名字,比如“john”或其他什么。 ..但我不知道怎么样!?任何人都可以快速解决问题吗?

由于

4 个答案:

答案 0 :(得分:1)

您可以使用...

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

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

答案 1 :(得分:0)

您可以通过indexOflastIndexOfsubstring js方法的组合轻松实现此目标...... documentation

答案 2 :(得分:0)

很难从你的例子中说出一般情况,但让我试试:

str = str.replace(/\|([^|]+)-Foo\|/, '$1');

答案 3 :(得分:0)

这有用吗?

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

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

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

"anything*& 45anything8  \$  90fanything"

最佳答案取决于管道之间可能存在的内容。