だから私はPythonで(s60デバイスで)トランスレータを作成しようとしています。したがって、'しようとしているのは、他の単語に触れることなく、1つの単語全体を置き換えることです。これが例です
オリジナル:「ブラウニーという名前の犬を茶色のキツネが飛び越えます。」「brown」という単語を「deathlesi」に置き換えたい(理由は無視してください)結果は次のようになります。「deathlesifoxがbrownieという名前の犬を飛び越えます。」しかし、代わりに、文字列の「ブラウニー」も変更され、「deathlesifoxはdeathlesiieという名前の犬を飛び越えます」という結果になります。
私はすべての単語を置き換えようとしているので、時々それは終わりのないパラドックスに陥ります。例:「私は愚かです」私は「私」を「ium」に変えようとしています、そしてこれは何が起こるかです。「iumumumumumumumumumumumumumumumumumumumum。
何か助けはありますか?ありがとう!
編集:私はすでに「stringhere」.replace()を試しましたが、小文字の「i」のような特定の部分は通常、愚かな「i」を置き換えます。
別の例を次に示します。「人々は巨大なウサギに興奮しています。」「巨大なウサギに興奮する人々iume」の代わりに、「are」を「iume」に置き換えます。また、「うさぎ」に取って代わり、「巨大なヒウメに興奮する人々のイウメ」を生み出しました。
おそらく私は文を配列し、それぞれを翻訳しました。それが今の私の現在の方法です。基本的に、各単語を配列に変換し、それぞれを変換します。次に、
translated_sentence=["particulus:people", "iume:are", "geus:getting", "exchantus:excited", "d:at", "qun:the", "gesas:giant", "hsont:hare"]
sentence= "People are getting excited at the giant hare."
for i in translated_sentence do
element=i.split(":")
sentence=sentence.replace(element[1], element[0])
それでも、「particulus uime geus exchantus d qun gesas huime(hsontの代わりに)」をスローします。
私はそれを理解しました。文字列を配列に分割し、現在の単語をクリーンアップして元の単語に対してstring.replace()を実行することにより、フォーマットを保持しました。
sentence="The quick brown fox jumps over the lazy dog.".split(" ")
result=""
for i in sentence:
cleaned=clean(i) #removes the punctuations and stuff leaving the raw word.
translated=translate(cleaned) #returns the translated word
result=result+i.replace(cleaned,translated)+" "
return result