Найти положение маркера в строке относительно другого - PullRequest
0 голосов
/ 08 марта 2012

У меня есть две строки, одна продезинфицированная и одна с MARKER.MARKER является фиксированной строкой и выбирается произвольно, вставляется в строку другим кодом.

 sanitized = "100 biz other stuff"
 marked = " 100    biz MARKER other stuff"

Теперь сопоставьте окружение MARKER со строкой sanitized.

 # _ is empty, the string is expanded for visual only
 sanitized =  "100 ___biz_______ other stuff"
 marked =    " 100    biz MARKER other stuff"

И получите индекс MARKER в строке sanitized.

 sanitized =  "100 ___biz_MARKER other stuff"
                          ^
 marked =    " 100    biz MARKER other stuff"

Что будет 7.

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Ваш вопрос очень двусмысленный, но это может помочь:

s = "100 biz other stuff"
m = s.match(/(100 biz )(other stuff)/)
m.offset(1)
=> [0, 8]
m.offset(2)
=> [8, 19]
s.insert(m.offset(1)[1], "MARKER ")
=> "100 biz MARKER other stuff"
0 голосов
/ 08 марта 2012

Мне тоже не ясно, о чем вы спрашиваете. Похоже, вам просто нужно знать, как найти расположение строки внутри строки.

virtual = "100 biz MARKER other stuff"
virtual.index 'MARKER'
# => 8
...