2012-04-17 5 views
0

У меня есть эта строка здесь:Сложной струны Javascript изменить

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

Что я хочу сделать это, чтобы превратить его в этом:

<br><br>Me: htht 

в основном, чтобы изменить только часть внутри два «| », вспоминая, что« Foo »может измениться с другим именем, например« john »или что-то еще. .. Но я не знаю, как !? Быстрое решение?

Благодаря

ответ

1

Вы можете удалить, что с ...

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

Вы не указали ограничения того, что появляется между трубами. Если символы слова (\w) недостаточно гибкие, при необходимости отрегулируйте их.

0

Вы можете легко достигнуть этого с комбинацией indexOf, lastIndexOf и substring JS методы ... documentation

0

Трудно сказать, в общем случае из вашего примера, но позвольте мне попробовать:

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

Это полезно?

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

Существует несколько ответов. Это один заменяет

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

с

"anything*& 45anything8 \$ 90fanything" 

Лучший ответ зависит от того, что могло бы быть между трубами.