我想分割一个字符串:
"00 85 00 04 79 E5 0B B5 82 AE C7 C9 96 37 93 AE"
分为两个小字符串:
string1 => "00 85 00 04"
string2 => "79 E5 0B B5 82 AE C7 C9 96 37 93 AE"
我尝试使用数组,但想尝试新的东西。
答案 0 :(得分:4)
此处您不需要split
。
sample_string = "00 85 00 04 79 E5 0B B5 82 AE C7 C9 96 37 93 AE"
string1, string2 = sample_string[0, 11], sample_string[12..-1]
string1
#=> "00 85 00 04"
string2
#=> "79 E5 0B B5 82 AE C7 C9 96 37 93 AE"
但目前尚不清楚你想用什么“模式”来剪切原始字符串。
答案 1 :(得分:1)
在各种语言中有很多例子的好地方,例如python,perl,ruby和其他pleac ruby string section。
“伟大的”是所有不同的语言解决相同的问题,使得比较语言之间的解决方案变得容易。
答案 2 :(得分:0)
答案取决于您可能提供的其他信息:是已知长度的第一个字符串?概念上定义了您希望拆分发生的位置。
在您的示例中,您可能会这样做:
s = "00 85 00 04 79 E5 0B B5 82 AE C7 C9 96 37 93 AE"
l = s.split("04")
str0 = l[0] + "04"
str1 = l[1]
或者您可以像对阵阵列/列表一样进行切片
答案 3 :(得分:0)
显然你的分裂将基于字符串的解释内容,并且由于这似乎是数字,我建议首先将其转换为数组并直接在真实数据上操作,而不是在它的字符串表示上。
但是,有一种方法可以根据内容在单词边界处进行分割,但不使用任何内容,使用零宽度超前模式。你也可以抛出一些单词边界和空间吃的模式:
s.split(/\b *(?=79)\b/)