从字符串的特定部分中删除特定字符

时间:2013-01-30 21:45:19

标签: ruby string

如何从字符串的特定部分删除字符<>,例如从该字符串中的前200个字符中删除?如果这些字符出现在200个字符后,则它们应保持不变。

3 个答案:

答案 0 :(得分:1)

非desctuctively:

text = "foo < bar > baz" * 20
"#{text[0...200].tr("<>", "")}#{text[200..-1]}"

或者,破坏性地:

text = "foo < bar > baz" * 20
text[0...200] = text[0...200].tr("<>", "")

答案 1 :(得分:0)

假设你要做的是用占位符替换<>个字符,你可以这样做:

if original_string.length >= 200
  original_string = original_string[0..199].gsub(/</,"&lt;").gsub(/>/,"&gt;") + original_string[200..-1]
else
  original_string = original_string.gsub(/</,"&lt;").gsub(/>/,"&gt;")
end

您也可以使用""作为替换字符串。

答案 2 :(得分:0)

str = "<aaa><bbbbb>ccccccccc<>"
str.prepend(str.slice!(0..10).delete('<>'))

切断n个字符串的子字符串,将其从不需要的字符中清除并将其重新粘贴。

相关问题