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