Sha*_*ang 12 ruby arrays string
我想把这个字符串
"P07091 MMCNEFFEG
P06870 IVGGWECEQHS
SP0A8M0 VVPVADVLQGR
P01019 VIHNESTCEQ"
Run Code Online (Sandbox Code Playgroud)
进入一个看起来像红宝石的数组.
["P07091 MMCNEFFEG", "P06870 IVGGWECEQHS", "SP0A8M0 VVPVADVLQGR", "P01019 VIHNESTCEQ"]
Run Code Online (Sandbox Code Playgroud)
split由于换行符,使用不会返回我想要的内容.
Car*_*and 30
这是处理空白行的一种方法:
string.split(/\n+/)
Run Code Online (Sandbox Code Playgroud)
例如,
string = "P07091 MMCNEFFEG
P06870 IVGGWECEQHS
SP0A8M0 VVPVADVLQGR
P01019 VIHNESTCEQ"
string.split(/\n+/)
#=> ["P07091 MMCNEFFEG", "P06870 IVGGWECEQHS",
# "SP0A8M0 VVPVADVLQGR", "P01019 VIHNESTCEQ"]
Run Code Online (Sandbox Code Playgroud)
我喜欢将其用作处理换行符和返回的非常通用的方法:
lines = string.split(/\n+|\r+/).reject(&:empty?)
Run Code Online (Sandbox Code Playgroud)
string = "P07091 MMCNEFFEG
P06870 IVGGWECEQHS
SP0A8M0 VVPVADVLQGR
P01019 VIHNESTCEQ"
Run Code Online (Sandbox Code Playgroud)
运用 CSV::parse
require 'csv'
CSV.parse(string).flatten
# => ["P07091 MMCNEFFEG", "P06870 IVGGWECEQHS", "SP0A8M0 VVPVADVLQGR", "P01019 VIHNESTCEQ"]
Run Code Online (Sandbox Code Playgroud)
使用的另一种方式String#each_line: -
ar = []
string.each_line { |line| ar << line.strip unless line == "\n" }
ar # => ["P07091 MMCNEFFEG", "P06870 IVGGWECEQHS", "SP0A8M0 VVPVADVLQGR", "P01019 VIHNESTCEQ"]
Run Code Online (Sandbox Code Playgroud)