在Ruby中,如何分割"John Doe+123456"
之类的字符串,以便我可以在"+"
之前和之后有两个字符变量?
我今天刚开始使用Ruby,但我似乎无法让"+"
之类的特殊字符合作。
作为一个注释,我不是编程的新手,只是Ruby。
答案 0 :(得分:5)
如果你已经知道你总是分裂同一个角色,你可以只提供一个字符串:
> "John Doe+123456".split('+') # no regular expression needed
=> ["John Doe", "123456"]
或者如果您必须使用正则表达式,请使用+
转义\
:
> "John Doe+123456".split(/\+/) # using a regular expression; escape the +
=> ["John Doe", "123456"]
最后,不仅仅是,这是另一种方法:
> "John Doe+123456".scan(/[^+]+/) # find all sequences of characters which are not a +
=> ["John Doe", "123456"]
答案 1 :(得分:3)
除非你的字面意思是,+
之前的字符串的最后一个字符以及紧跟在它之后的第一个字符,使用.split
方法在ruby中拆分字符串很容易,它将分隔符作为其参数。
> string = "John Doe+123456"
> string.split('+')
=> ["John Doe", "123456"]