1

ユーザースクリプトで改造している Web サイトに、変更したいテキストがあります。テキストに Unicode 文字が含まれているようです。画面上で見たり、jQuery で変数に抽出したりすると、のようになります。

2 others

ただし、同じテキストで独自の変数を作成して比較すると、それらは false になります。サイトのテキストをコピーしてvimに貼り付けたところ、次のようになりました。

2<200e> others

これは、スペース (?) の Unicode 文字であることがわかります。この文字列を次のような正規表現と一致させたい:

^(\d+(?:,\d+)*)\s+(.*)

しかし、Unicode 文字が埋め込まれたこの文字列では失敗します。(「2人の他の人」の私自身のタイプされたテキストでうまく動作します)。

このユニコードをテキストから取り除く方法はありますか? 私は次のことを試しましたが、役に立ちませんでした:

text.replace('\u200e\','')

text.replace('200e','')

text.replace('\%20','')

text.replace('\%u200e','')

または、代わりに、正規表現を調整して、「2つのその他」または同じテキストと200e unicode charが埋め込まれているものを一致させることはできますか?

4

1 に答える 1

5

代わりに実際の正規表現を使用してみてください。

text = text.replace(/\u200e/g, '');

正規表現を調整して、「他 2 件」または同じテキストに 200e Unicode 文字が埋め込まれているかどうかを確認できますか?

\sU+200E を含めるように正規表現を変更することもできます。

^(\d+(?:,\d+)*)[\s\u200e]+(.*)
于 2012-10-03T08:12:03.317 に答える