📜  Python – 用 K 替换多个单词

📅  最后修改于: 2022-05-13 01:54:59.636000             🧑  作者: Mango

Python – 用 K 替换多个单词

有时,在使用Python字符串时,我们可能会遇到需要用单个单词替换多个单词的问题。这可以应用于许多领域,包括日间编程和学校编程。让我们讨论可以执行此任务的某些方式。

方法 #1:使用join() + split() + 列表推导
上述功能的组合可用于执行此任务。在此,我们将字符串拆分为单词,使用连接和列表推导检查和替换列表单词。

# Python3 code to demonstrate working of 
# Replace multiple words with K
# Using join() + split() + list comprehension
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks and CS'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing word list 
word_list = ["best", 'CS', 'for']
  
# initializing replace word 
repl_wrd = 'gfg'
  
# Replace multiple words with K
# Using join() + split() + list comprehension
res = ' '.join([repl_wrd if idx in word_list else idx for idx in test_str.split()])
  
# printing result 
print("String after multiple replace : " + str(res)) 
输出 :
The original string is : Geeksforgeeks is best for geeks and CS
String after multiple replace : Geeksforgeeks is gfg gfg geeks and gfg

方法#2:使用正则表达式 + join()
上述功能的组合可用于执行此任务。在此,我们使用正则表达式查找单词并使用 join() 和列表推导执行替换。

# Python3 code to demonstrate working of 
# Replace multiple words with K
# Using regex + join()
import re
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks and CS'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing word list 
word_list = ["best", 'CS', 'for']
  
# initializing replace word 
repl_wrd = 'gfg'
  
# Replace multiple words with K
# Using regex + join()
res = re.sub("|".join(sorted(word_list, key = len, reverse = True)), repl_wrd, test_str)
  
# printing result 
print("String after multiple replace : " + str(res)) 
输出 :
The original string is : Geeksforgeeks is best for geeks and CS
String after multiple replace : Geeksforgeeks is gfg gfg geeks and gfg