开发者

Regex insert commas before spaces

开发者 https://www.devze.com 2023-03-12 13:21 出处:网络
How could you insert N number of commas into this string, before a space but not after a开发者_JAVA技巧 period or another comma? Using ruby or javascript.One option:

How could you insert N number of commas into this string, before a space but not after a开发者_JAVA技巧 period or another comma? Using ruby or javascript.


One option:

>>> 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."

Alternatively, you can go another way in order to 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."


Ruby variation of @jensgram's answer:

str.gsub(/([^,.]) /, $1 + ', ') 
0

精彩评论

暂无评论...
验证码 换一张
取 消