为什么不能在控制字符上分割字符串? [英] Why can't I split a string on control characters?
本文介绍了为什么不能在控制字符上分割字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我一起找到字符 ^ C
或 ^ B
时,我试图拆分一行。出于某些原因,它无法正常拆分。
I am trying to split a line when I find the characters ^C
or ^B
together. For some reason it is not splitting properly.
我一直在 Rubular 并对其进行了测试,并认为应该将其拆分。
I have been on Rubular and tested this and supposedly it should split it.
我正在阅读并尝试拆分的行如下所示:
The lines that I am reading in and trying to split look something like this:
SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE
代码是:
final_array = []
temp_array = []
array__with_all_of_the_data.each do |x|
temp_array = x.split(/\^C/)
temp_array.each do |y|
final_array << y.split(/\^B/)
end
@final_array << final_array.join(",")
end
推荐答案
使用正则表达式 / \ ^ [BC] /
:
>> 'SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE'.split(/\^[BC]/)
=> ["SOME_KEY", "SOME_VALUE", "SOME_KEY", "SOME_VALUE"]
如果要替换 \B
/ \C
与,
一起使用gsub代替 split
+ join
:
If you want replace \B
/ \C
with ,
, use gsub instead of split
+ join
:
>> 'SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE'.gsub(/\^[BC]/, ',')
=> "SOME_KEY,SOME_VALUE,SOME_KEY,SOME_VALUE"
这篇关于为什么不能在控制字符上分割字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文