이제 단어의 일부분 만 변경하려고하면 어떻게됩니까? "Car"에서 "cah"로, 또는 "Martha"에서 "Marther"로 바뀝니다. 난 그냥 그랬다면 두 번째 경우에서,이 같은 경우 :문자열을 사용하는 루비에서 문장 대체 # gsub
<if sentance.include? "er"
user_input.gsub!(/er/, "a")
end >
내가 원하지 무엇 인 "마르다"모든 "A" 's을 (를) 걸릴 것이다.
아이디어가 있으십니까? 다른 예제. Replace words in string - ruby
만약'STR ="마사, 빌리 밥이다 '', 당신은 아마 (str.gsub'같은 것을 원하는 경우/( = \ bMarth) a \ b /, "er") # => "Marther, Billy-Bob은 어디 있습니까?" '(? <= \ bMarth)'는 긍정적 인 lookbehind *라고 부릅니다. 바꿀 문자 (' "a"')는 단어 분리 ('\ b')와 문자열''Marth "'로 시작하지만 그 부분은 매치의 일부가 아닙니다. 문장에 "Martha"만 포함되어 있다는 것을 알았다면, 나는 "gub"보다는 "sub"를 사용할 수있었습니다. "cah"에 대한 귀하의 언급은 나에게 [Crow Mystery] (https://www.reddit.com/r/Jokes/comments/1l888r/the_crow_mystery/)를 상기 시켰습니다. –
문법을보다 잘 정의해야합니다.이 규칙은 이러한 변환이 수행되는 규칙입니다. 마지막으로'a'입니까? – tadman
그 까마귀 농담은 훌륭합니다. 기본적으로 여기에서의 나의 목표는 기본 스피치에서 New England Accent로 텍스트 입력 변환기를 만드는 것입니다. 그래서 그 규칙들을 사용해서, 나는 정말로 단어의 끝에만 관심이 있습니다; 특히 As 또는 ER로 끝나는 단어는 모국어의 스왑으로 간주됩니다. $는 효과가있을 수 있지만 줄의 끝에서 무엇을 의미합니까? 문자열에서 As로 끝나는 단어를 검색합니까? 아니면 문자열의 마지막 단어 만 가져 오나요? 아니면 그 문자열이 \ z입니까? –