2011-06-10 3 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의 대답의

루비의 변화는 :

str.gsub(/([^,.]) /, $1 + ', ') 
관련 문제