【问题标题】:How to Add a Character to an Existing String in Python如何在 Python 中将字符添加到现有字符串
【发布时间】:2012-09-14 11:00:22
【问题描述】:

我正在尝试用其他文本替换单词中的元音/音节..例如:

输入的单词:program

将音节/元音替换为:ab

结果:pr**ab**ogr**ab**am

如果输入了通配符 (*),例如:

输入的单词:dog

用于替换音节/元音的文本:*b

结果:d**ob**og,其中 * 被替换为单词中的第一个元音,在本例中为“o”,然后将其替换为输入的单词,在本例中为“b” "放在dog的元音"o"之前。

有什么想法吗?我正在尝试仅使用 for、if 和 while 循环来完成此操作。

【问题讨论】:

  • 嗯?我认为你需要更好地描述这个算法。你是在替换音节吗?元音?像tooth(1 个音节,2 个元音)这样的词呢……你能试着重新解释第二个例子吗?我没听懂。

标签: python string


【解决方案1】:

你的意思是这样的?

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

【讨论】:

  • 我正在尝试使用 for/if/while 循环而不是导入的模块来执行此操作。
  • ''.join([ 'ab'+x if x in 'aeiou' else x for x in 'program']) 比循环更 Python
  • 这行得通,但我可以用'ab'和'program'代替用户输入的变量,它会起作用吗?我试过了,在 shell 中它可以工作,但是当我尝试打印时它是空白的?比如empty_str.join([first_syl+x if x in 'aeiou' else x for x in word]),然后print(empty_str),idle什么都没有。
猜你喜欢
  • 2018-06-14
  • 2023-04-03
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 2020-08-14
  • 2017-04-11
  • 1970-01-01
  • 2017-03-09
相关资源
最近更新 更多