我想在字母上拆分以下字符串:
1234B
总是只有4位数字和1个字母。我只想把它们分开。
这是我的尝试,我认为我的方法正确,正则表达式匹配数字,但我不认为我的语法或我的正则表达式与我试图解决的问题相关。
"1234A".split(/^\d{4}/)
答案 0 :(得分:16)
你想要的并不清楚,但这种情况的一般解决方案是:
"1234A".scan(/\d+|\D+/)
# => ["1234", "A"]
答案 1 :(得分:8)
如果总是 4位数和1个字母,则无需使用正则表达式来分割字符串。就这样做:
str = "1234A"
digits,letter = str[0..3],str[4]
答案 2 :(得分:0)
纯粹从将任何字符串分成4组的角度来看待它:
"1234A".scan(/.{1,4}/)
# => ["1234", "A"]
答案 3 :(得分:-1)
另一个no-regex版本:
str = "1234A"
str.chars.to_a.last # => "A"
str.chop # => "1234"