0

大きなテキストがあり、特定の文字列の前にあるものをすべて削除したいと思います。

問題は、テキスト内にその文字列が何度か出現していることです。後で見つかったテキストを分析して、どれが正しいかを判断したいと思います。その複雑さのため、正規表現にその分析を含めることはできません。

text = <<HERE
big big text
goes here
HERE

pos = -1

a = text.scan(/some regexp/im)
a.each do |m|
  s = m[0]

  # analysis of found string
  ...


  if ( s is good ) # is the right candidate
    pos = ??? # here I'd like to have a position of the found string in the text.

  end

end

result_text = text[pos..-1]
4

2 に答える 2

4

$~.offset(n)n試合の-番目の部分の位置を示します。

于 2013-01-14T21:59:30.243 に答える
0

大きな文字列に含まれるオカレンスの数を数え、インデックスを使用して、最終的なパターンに一致しないすべてのオカレンスを切り取る必要があると思います。

于 2013-01-14T22:14:25.663 に答える