2017-11-27 10 views
0

文字列内の数字のグループ間のスペースを削除する方法はありますか? Nodejsでこれを行うにはどのように文字列内の数字の間のスペースを削除するノードjsコード

"ストアが5678である":

varが列str =出力は次のようにする必要があり、処理後

"ストアは5 6 7 8"?

+0

'ストアは1 2 3 4である' ので、あなたがこれまでに試してみました...これは、同じ文字列として静的 – Deep

+0

するvar strの=になりますconsole.log(str.replace(//g、 '')); console.log(文字列); このコードは、文字列内のすべてのスペースを置き換えます...しかし、削除する数字の間のスペースのみを必要とします。 –

答えて

0

こんにちはこれを試すことができます。

var str = "The store is 5 6 7 8" 
var regex = /(\d+)/g; 
str.split(/[0-9]+/).join("") + str.match(regex).join('') 

これがうまくいきます。

+0

ありがとうたくさんの!!!!それは働いた –

0

次のコードスニペットを試すことができます。

const regex = /(?!\d) +(?=\d)/g; 
const str = `The store is 5 6 7 8`; 
const subst = ``; 

// The substituted value will be contained in the result variable 
const result = str.replace(regex, subst); 

console.log('Substitution result: ', result); 
+0

ありがとう!!!!それは役に立ちました –

0

/([0-9]+) ([0-9]+)/ - 数字間のスペースを削除します。 しかし、実行中のs.replaceは最初のオカレンスのみを置き換えます。 私はループに入るので、数字の間にスペースがなくなるまで、2桁の間のすべてのスペースを削除し続けます。

prevS = ''; 
while(prevS !== s){ 
    prevS = s; s = s.replace(/([0-9]+) ([0-9]+)/, '$1$2'); 
} 
+0

これは質問に答えるかもしれませんが、それはなぜそれがそうでなければそれが削除される可能性が高い質問に答える理由についての説明を少し行うことができます - レビュー –

0

これはシン答えをsantoshに非常に近いですが、is5の間にスペースを置き換えることはありません。

const regex = /(\d)\s+(?=\d)/g; 
 
const str = `The store is 5 6 7 8`; 
 
const subst = `$1`; 
 

 
// The substituted value will be contained in the result variable 
 
const result = str.replace(regex, subst); 
 

 
console.log('Substitution result: ', result);

https://regex101.com/r/nSZfQR/3/

関連する問題