如何通过','
从右侧拆分字符串?从这个字符串:
str_a = "#37/1, New Ray Street, 24th mains,2nd cross, Bangalore Karnataka India"
我想要一个输出:
"#37/1, New Ray Street, 24th mains,2nd cross"
答案 0 :(得分:6)
str_a = "#37/1, New Ray Street, 24th mains,2nd cross, Bangalore Karnataka India"
str_a.rpartition(',')
# => ["#37/1, New Ray Street, 24th mains,2nd cross", ",", " Bangalore Karnataka India"]
str_a.rpartition(',')[0]
# => "#37/1, New Ray Street, 24th mains,2nd cross"
<强>更新强>
如果str_a
不包含,
,则上述代码将返回空字符串。如果这可能是个问题,请使用以下代码。
str_a = "#37/1"
head, sep, tail = str_a.rpartition(',') # => ["", "", "#37/1"]
sep == '' ? tail : head # OR sep[0] ? head : tail
# => "#37/1"
答案 1 :(得分:0)
如果知道输入字符串格式是什么,@ falsetru建议是最好的,如果输入中根本没有逗号,它将返回空字符串。简单的正则表达式
str_a.gsub /,[^,]*$/, ''
在这种情况下,将返回输入字符串intouch。此外,您还可以使用gsub!
修改输入 inplace 。