第一次出现非字母字符时打破字符串?

时间:2014-02-12 14:03:47

标签: ruby regex string

我有这样的字符串:

asdf.123
asdf_123
asdf123
as123df

我怎么能用任何非字母字符分割才能得到这个:

asdf
asdf
asdf
as

5 个答案:

答案 0 :(得分:9)

您可以使用String#[]方法:

regexp = /^[a-z]+/i

'asdf.123'[regexp]
# => "asdf"

'as123df'[regexp]
# => "as"

'ASas123'[regexp]
# => "ASas"   

答案 1 :(得分:5)

"your string".split(/[^A-Za-z]/).first

将被A-Z或a-z中的任何内容拆分,然后返回第一个结果。

答案 2 :(得分:0)

您只需使用gsub(/\W+/, '')替换所有非字母字符和正则表达式...

答案 3 :(得分:0)

你可以这样做:

  a = "string 1232"
  a[/[a-zA-Z]+/]
  # => "string"

答案 4 :(得分:0)

这对你有用"aaas._123ff".gsub!(/[^a-zA-Z].*/, '')

 => "aaas"