Python 将句子中的一个单词替换为星号
在写作或印刷中使用符号*(星号)作为引用标记,表示某些字母或单词已被省略,表示可能但未经证实的语言形式,或用于其他任意目的。
在本文中,我们将讨论用Python替换句子中的一个单词为星号的不同方法。
输入-输出场景
以下是将句子中的一个单词替换为星号的输入和输出场景示例−
Input: Welcome to the TutorialsPoint family.
Output: Welcome to the TutorialsPoint ******
可以看到,在上面的情景中,句子中的词“family”被星号替换了。
使用replace()方法
在给定的字符串中,replace()方法会查找作为第一个参数传递的字符串,并将其替换为第二个参数。
示例
以下是使用replace()方法在句子中将一个词替换为星号的示例:
def Asterisk(sentence, word):
# Using the replace function to find and replace the word with same no. of asterisks as the word's length.
return sentence.replace(word, "*" * len(word))
sentence = "Go feed all the ducks present in the lake"
print ('The sentence is :', sentence)
censored_sentence = Asterisk(sentence, "ducks")
print('Replacement with asterisks is as shown :',censored_sentence)
输出
下面是以上代码的输出结果 –
The sentence is : Go feed all the ducks present in the lake
Replacement with asterisks is as shown : Go feed all the ***** present in the lake
使用静态输入的for循环
以下是使用静态输入的for循环来替换句子中的单词为星号的方法:
- 将字符串作为静态输入提供并保存在一个变量中。
-
在提供为静态输入之后,将可替换的单词放入另一个变量中。
-
使用split()函数从给定的字符串创建一个单词列表,并将其保存在一个名为“word_list”的新变量中。
-
使用len()函数将星号符号乘以提供的输入单词的长度,然后将结果保存在一个名为“replaced_word”的新变量中。
-
使用for循环遍历刚刚得到的单词列表。
-
使用if条件语句判断迭代器索引位置的单词是否等于输入的单词。
-
如果条件成立,则将迭代器索引位置的单词替换为“replaced_word”。
-
使用join()函数将上面的单词列表转换为字符串。
-
打印获取的字符串以替换给定输入句子中的一个单词为星号。
-
程序结束。
示例
以下是使用静态输入的for循环来替换句子中的单词为星号的示例:
string = "Replacing the word in the sentence with asterisks for that sentence"
# word to be replaced
word = "sentence"
# splitting the string into list and storing it in another variable
word_list = string.split()
# Multiplying the asterisk symbol with length of the given word
replaced_word = '*' * len(word)
for iterator in range(len(word_list)):
# checking if the word at the iterator index given is equal
if word_list[iterator] == word:
word_list[iterator] = replaced_word
# Converting the word list to string
final_string = ' '.join(word_list)
print("The sentence is : ", string)
print("Replacement with asterisks is as shown : ",final_string)
输出
以下是上述代码的输出结果 −
The sentence is : Replacing the word in the sentence with asterisks for that sentence
Replacement with asterisks is as shown : Replacing the word in the ******** with asterisks for that ********
使用带用户输入的循环
以下是使用带有用户输入的循环来在句子中替换单词为星号的方法:
- 使用input()函数接收用户输入的字符串并将其存储在一个变量中。
-
使用input()函数接收可替换单词并将其存储在另一个变量中。
-
使用split()方法从给定的字符串创建一个单词列表,并将其保存在一个名为”word_list”的新变量中。
-
使用len()函数将星号符号乘以提供的输入单词的长度,然后将结果存储在一个名为”replaced_word”的新变量中。
-
使用for循环遍历刚刚获取的单词列表。
-
利用if条件语句确定迭代器索引处的单词是否等于输入单词。
-
如果条件为真,则用”replaced_word”替换迭代器索引处的单词。
-
使用join()函数将上述单词列表转换为字符串。
-
打印获取的字符串,以将输入句子中的一个单词替换为星号。
-
程序退出。
示例
以下是使用带有用户输入的循环来在句子中替换单词为星号的示例:
string = input("Enter the sentence = ")
word = input("Enter the word to be replaced = ")
word_list = string.split()
replaced_word = '*' * len(word)
for itr in range(len(word_list)):
if word_list[itr] == word:
word_list[itr] = replaced_word
final_string = ' '.join(word_list)
print("The sentence is : ", string)
print("Replacement with asterisks is as shown : ",final_string)
输出
以下是上述代码的输出结果-
Enter the sentence = Replacing the word in the sentence with asterisks for that sentence
Enter the word to be replaced = sentence
The sentence is : Replacing the word in the sentence with asterisks for that sentence
Replacement with asterisks is as shown : Replacing the word in the ******** with asterisks for that ********