2017-12-22 3 views
0

私はテキストの最初の文字を見つけるためのプロジェクトに取り組んできた。 @revoする単語の最初の手紙を見つけるが、数字を残す

おかげで、私は、コードを持って:

.replace(/\B\w/g, '') 

これで唯一の問題は、数字とありました。

私の文は次のようになります。

ジミーは言った、「私は10個のリンゴを食べたいと思います。」

私のコードの出力は次のようになります

J S

、 "I L W TのE 1。"

私が欲しいの出力は次のようになります。

J sの、 "私はL tの電子10 wを。"

.replace(/\D\B\w/g, '') 

をしかし出力は本当に変だったと私は何を望むかと一致しませんでした:

私はこれをやってみました。
どうしたのですか?それを修正する簡単な方法はありますか?

+0

それは非常に明確ではないが:何をすべき結果は 'word1'または' Word12.34 here'の結果でしょうか? @RomanPerekhrestはそれを完璧にしてくれました。[{{s.replace(/(dd +)| \ B \ w/g、 '$ 1') '](https://regex101.com/r/zF2Ewq/1) –

+0

私はあなたのコードを試してみると、すべての数字を一掃しました。あなたが使用したコードでは、この出力が得られました:J s、 "I w l t e a。" – Caleb

答えて

0

(すなわち、任意の文字またはアンダースコアが、\wトークンから残留物を暗示する)数字で始まらない単語を考える:

const str = 'Jimmy said, "I would like to eat 10 apples." '; 
 
const result = str.replace(/\b([a-z_])\w+/gi, '$1'); 
 

 
console.log(result);

+0

ありがとうございました! – Caleb

関連する問題