2011-06-10 11 views

答えて

5

一つのオプション:

>>> var str = "Lorem ipsum dolor sit amet consectetur adipiscing elit. Praesent mauris neque adipiscing nec malesuada id fermentum at eros. Curabitur eu neque nunc, et porta risus."; 
>>> str.replace(/([^,.]) /g, '$1, '); 
"Lorem, ipsum, dolor, sit, amet, consectetur, adipiscing, elit. Praesent, mauris, neque, adipiscing, nec, malesuada, id, fermentum, at, eros. Curabitur, eu, neque, nunc, et, porta, risus." 

また、あなたがmimick negative lookbehindするために別の道を行くことができます。

>>> var str = "Lorem ipsum dolor sit amet consectetur adipiscing elit. Praesent mauris neque adipiscing nec malesuada id fermentum at eros. Curabitur eu neque nunc, et porta risus."; 
>>> str.replace(/([,.])? /g, function($0, $1) { return $1 ? $0 : ', '; }); 
"Lorem, ipsum, dolor, sit, amet, consectetur, adipiscing, elit. Praesent, mauris, neque, adipiscing, nec, malesuada, id, fermentum, at, eros. Curabitur, eu, neque, nunc, et, porta, risus." 
+0

が、これは再することでした。文字列全体にランダムに3つしか挿入しませんか? – ahabman

+0

@ahabmanまあ、ランダムな要素を追加することができると思います: 'str.replace(/([,.])?/ g、function($ 0、$ 1){return $ 1 || Math.random()> .2? $ 0: '、';}); 'は修飾された空白の〜1/5(' .2')だけを置き換えます。あなたが望むならば、置換する空白スペースの最大数(例えば、3)を追跡することができます。 – jensgram

1

@のjensgramの答えのRubyのバリエーション:

str.gsub(/([^,.]) /, $1 + ', ') 
関連する問題