0
スペースの前にピリオドや別のコンマの後にN個のコンマを挿入する方法はありますか?ルビーやjavascriptを使う。スペースの前に正規表現を挿入する
スペースの前にピリオドや別のコンマの後にN個のコンマを挿入する方法はありますか?ルビーやjavascriptを使う。スペースの前に正規表現を挿入する
一つのオプション:
>>> 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."
@のjensgramの答えのRubyのバリエーション:
str.gsub(/([^,.]) /, $1 + ', ')
が、これは再することでした。文字列全体にランダムに3つしか挿入しませんか? – ahabman
@ahabmanまあ、ランダムな要素を追加することができると思います: 'str.replace(/([,.])?/ g、function($ 0、$ 1){return $ 1 || Math.random()> .2? $ 0: '、';}); 'は修飾された空白の〜1/5(' .2')だけを置き換えます。あなたが望むならば、置換する空白スペースの最大数(例えば、3)を追跡することができます。 – jensgram