2012-09-22 75 views
0

我試圖取代元音/音節與其他text..for例詞:如何將角色添加到現有的字符串在Python

的Word中輸入:program

文本,以取代音節/與元音:AB

結果:pr**ab**ogr**ab**am

,如果有一個通配符(*)中輸入如:

字輸入:dog

文本與替換音節/元音:* B

結果:d**ob**og,其中*替換爲在單詞的第一個元音,在這種情況下爲「○」,然後將其在輸入單詞之後被替換,在這種情況下,「b」將「ob」放在狗的元音「o」之前。

任何想法?我正在試圖用for,if和while循環來完成此操作。

+4

吧?我認爲你需要更好地描述這個算法。你在替換音節嗎?元音? 「牙齒」這樣的詞(1個音節,2個元音)...你能嘗試重新解釋第二個例子嗎?我沒有得到它。 – mgilson

回答

0

你的意思是這樣的嗎?

re.sub(r'([aeoiu])', r'ab\1', 'program') -> 'prabograbam'

re.sub(r'([aeoiu])', r'\1b\1', 'dog') -> 'dobog'

re.sub(r'([aeoiu]+)', r'ab\1', 'tooth') -> 'tabooth'

re.sub(r'(([aeoiu])[aeoiu]*)', r'\2b\1', 'boat') -> 'boboat

+0

我試圖用/ if/while循環和不導入的模塊來做到這一點。 – Goose

+0

''.join(['ab'+ x if'in'aeiou'else x for'in'program'])python比循環更多 – swang

+0

工作,但是我可以替代用戶輸入的'ab'和'program'變量,它會工作?我嘗試了它,並在shell中工作,但是當我嘗試打印時,它變爲空白?例如,empty_str.join([first_syl + x if'in'aeiou'else x for x in word]),然後print(empty_str),它不會導致空閒。 – Goose

相關問題