0

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

4

3 回答 3

1

非描述性的:

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

或者,破坏性地:

text = "foo < bar > baz" * 20
text[0...200] = text[0...200].tr("<>", "")
于 2013-01-30T22:01:50.300 回答
0

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

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

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

于 2013-01-30T22:01:34.640 回答
0
str = "<aaa><bbbbb>ccccccccc<>"
str.prepend(str.slice!(0..10).delete('<>'))

切掉 n 个字符的子串,从不需要的字符中清除它并将其粘回去。

于 2013-01-30T22:04:39.883 回答