my-test-string-4-23
从上面的字符串中我怎样才能只提取仅my-test-string
我尝试使用to_s方法,但它按原样返回整个字符串。
答案 0 :(得分:1)
仅在数字上拆分,拆分返回一个数组,然后用gsub删除最后一个“ - ”
str = "my-test-string-4-23"
str.split(/(\d+)/)[0].gsub(/\-$/, '')
将返回
"my-test-string"
答案 1 :(得分:0)
your_string.match('[\ D - ]')[0]。[0 ..- 1]可能有用。它将返回非小数和破折号的第一个实例,然后删除最后一个 -