2017-09-18 6 views
1

最初と最後のものを除くすべての空白をこのイメージとして置きたいと思います。最初と最後のものを除くすべてのスペースを置換してください

赤いものだけを交換するにはどうすればよいですか?

how to replace the red space

私が試した:

.replace(/\s/g, "_"); 

をそれがすべてのスペースをキャプチャします。

あなたが行の先頭以外の何かが先行し、または行の末尾以外のものが続いているいずれかのスペースを検索し、他の言葉で、最初の文字と最後のための $をチェックする ^を使用することができます

答えて

4

私は試合を示唆して保持される初期/末尾の空白をキャプチャし_に置き換えられます、他の空白マッチング:

ここ

  • (^\s+|\s+$) - グループ1:一つ以上の空白のいずれかの文字列
  • |の開始または終了時 - または
  • \s - 他空白。
コールバックメソッドで $0はマッチ全体を表し

、および$1は1試合$1たら、我々は他の、_と交換し、その内容を返し、グループの内容を保持する引数です。

1

var rgx = /(?!^)(\s)(?!$)/g; 
 
// (?!^) => not start of line 
 
// (?!$) => not end of line 
 
console.log(' One Two Three '.replace(rgx, "_"));

+0

FYI:開始時または終了時に空白文字が2つ以上ある場合、これは期待どおりに機能しません。 –

関連する問題