2015-04-30 3 views
0

Я хочу заменить строку в первом вхождении. При использовании следующего кода он хорошо заменяет все случаи совпадения. Как я изменяю свой код? Может ли кто-нибудь помочь?Как заменить строку в первом вхождении

on mouseUp 
    replace "Malayalam" with "English" in field "text" 
end mouseUp 

ответ

0

Используйте функцию wordOffset:

on mouseUp 
    set the wholeMatches to true -- OPTIONAL 
    put wordOffset("Malayalam",field "text") into N 
    if N <> 0 then put "English" into word N of field "text" 
end mouseUp 

Опциональная линия приведет к замене происходит только для точного соответствия исходного слова. Например, «Малаялам» будет заменен, но «Малаялам» не будет.

Есть некоторые случаи, когда необходимо использовать wholeMatches, например, заменить слово «это» в следующем предложении:

Это некоторый текст.

Если функция WholeMatches НЕ включена, LiveCode найдет первое вхождение «is», которое находится в слове «This».

+0

Спасибо Скотт Росси Отличное кодирование –

+0

Скотт, установив wholeMatches в true, все равно вызовет словосочетание «малаялам» в вашем примере. Различие между «малаялам» и «малаялам» было бы захвачено, установив для свойства caseSensitive значение true, а не свойство wholeMatches. – Devin

+0

Devin, отредактированный с исправленным примером. –