0

嗨,我尝试像这样分隔输入:<Text1><Text2><Text2>..<TextN> 在每个索引中只有每个文本的数组中,我如何使用带有双参数的拆分?我尝试进行双重拆分但不起作用:

request = client.gets.chomp
dev = request.split("<")
split_doble(dev)

dev.each do |devo|
  puts devo
end 

def split_doble (str1)
  str1.each do |str2|
    str2.split(">")
  end
end
4

2 回答 2

1

当你有这样的字符串时

string = "<text1><text2><textN>"

然后你可以像这样提取<>字符之间的文本:

string.scan(/\w+/)
#=> ["text1", "text2", "textN"]

/\w+/是匹配一系列单词字符(字母、数字、下划线)的正则表达式,因此忽略<and>字符。

另请参阅有关String#scan.

于 2021-02-12T17:51:02.447 回答
0

在字符串"<text1><text2><textN>"中,前导 < 和结尾 > 会妨碍您,因此通过将它们切掉来摆脱它们。然后在“><”上拆分。

str = "<text1><text2><textN>"
p str[1..-2].split("><") # => ["text1", "text2", "textN"]
于 2021-02-13T00:07:03.320 回答