0

ここにこの文字列があります:

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

私がやりたいことは、これを次のように変換することです:

<br><br>Me: htht

基本的には、2 つの「|」内の部分のみを変更します。「Foo」は、「john」などの別の名前に変更される可能性があることを覚えておいてください。.. でもやり方がわからない!? 誰でも簡単に解決できますか?

ありがとう

4

4 に答える 4

1

あなたはそれを取り除くことができます...

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

パイプ間に表示されるものの制約を指定していません。単語の文字 ( \w) が十分に柔軟でない場合は、必要に応じて調整します。

于 2012-04-17T11:14:09.443 に答える
0

あなたの例から一般的なケースを伝えるのは難しいですが、試してみましょう:

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

indexOflastIndexOf、およびsubstringjs メソッドを組み合わせることで、これを簡単に実現できます...ドキュメント

于 2012-04-17T11:16:21.603 に答える
0

これは役に立ちましたか?

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

いくつかの答えが与えられています。これが代わります

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

"anything*& 45anything8  \$  90fanything"

最良の答えは、パイプの間に何があるかによって異なります。

于 2012-04-17T11:20:39.857 に答える