Python 将除第一个字符外的所有出现替换为K
Python内置了像slicing()和replace()这样的函数,可以用于将出现的字符替换为K,但第一个字符除外。
在Python中, 字符串 是最常用的类型之一。只需将字母放在引号中即可创建字符串。Python对单引号和双引号的处理方式相同。赋值给变量和创建字符串非常简单直接。
示例
假设我们已经取得了一个 输入字符串和k 。我们将使用上述方法将输入字符串中除第一个字符外的所有k字符替换为输入字符。
输入
inputString = 'blueforblueforblue'
输出
Resultant string after replacing: bluefor*luefor*lue
使用切片和replace()函数
在此方法中,我们将使用切片和replace函数的组合来替换出现的内容。replace函数返回一个替换所有旧子字符串为另一个新子字符串的字符串副本。
语法
string.replace(old, new, count)
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入字符串。
-
打印输入字符串。
-
创建另一个变量来存储用于替换的输入k字符。
-
从第二个字符开始切割字符串,并用给定的符号k替换第一个字符的出现次数。
-
将此结果与第一个字符连接起来。
-
打印替换后的结果字符串。
示例1
以下程序通过使用切片和replace()函数,在保留第一个字符的情况下将字符串中的出现次数替换为k。
# input string
inputString = 'blueforblueforblue'
# printing input string
print("Input string: ", inputString)
# input K character for replacing
k = '*'
# replacing all the characters except the first character with the given k symbol
resultantStr = inputString[0] + inputString[1:].replace(inputString[0], k)
# printing the resultant string after replacing
print("Resultant string after replacing: ", resultantStr)
输出
在执行后,上述程序将生成以下输出 –
Input string: blueforblueforblue
Resultant string after replacing: bluefor*luefor*lue
示例2
以下程序通过使用replace()函数将出现的字符替换为k(除第一个字符外),并返回一个字符串 –
# input string
inputString = 'blueforblueforblue'
# printing input string
print("Input string: ", inputString)
# input K character for replacing
k = '*'
# Replacing using the replace() method
resultantStr = inputString.replace(
inputString[0], k).replace(k, inputString[0], 1)
# printing the resultant string after replacing
print("Resultant string after replacing: ", resultantStr)
输出
执行以上程序后,将会生成以下输出:
Input string: blueforblueforblue
Resultant string after replacing: bluefor*luefor*lue
使用for循环
在这种方法中,我们将使用python的for循环和not运算符来替换出现的k,除了第一个字符。not运算符是一个逻辑运算符,如果语句/语句不为真,则返回True,否则返回False。
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储 输入字符串 。
-
打印输入字符串。
-
创建另一个变量来存储输入的k字符以进行替换。
-
初始化一个空字符串来存储结果字符串。
-
使用 for循环 遍历输入字符串的每个字符。
-
使用 if条件 语句检查当前字符是否等于输入字符串的第一个字符,并且使用 not运算符 检查它是否不在结果字符串中。
-
如果条件为真,则使用 +(连接)运算符 将当前字符添加到结果字符串中。
-
使用 elif条件 语句检查当前字符是否等于输入字符串的第一个字符,并且它是否在结果字符串中。
-
如果条件为真,则使用 + 运算符将 输入k 添加到结果字符串中。
-
否则,直接将当前字符添加到结果字符串中而不进行修改。
-
替换后打印结果字符串。
示例
以下程序使用for循环返回一个字符串,该字符串通过替换出现的k来替换掉第一个字符-
# input string
inputString = 'blueforblueforblue'
# printing input string
print("Input string: ", inputString)
# input K character for replacing
k = '*'
# initilazing empty string for storing resultant string
resultantStr= ""
# travsering through each character of an input string
for c in inputString:
# checking whether the current character is equal to the first character
# of the input string and it is NOT present in the resultant string
if c==inputString[0] and c not in resultantStr:
# add that current character to the resultant string
resultantStr+=c
# checking whether the current character is equal to the first character
# of the input string and it is in the resultant string
elif c==inputString[0] and c in resultantStr:
# adding k to the resultant string
resultantStr+=k
else:
# else adding that character directly without modifying
resultantStr+=c
# printing the resultant string after replacing
print("Resultant string after replacing: ", resultantStr)
输出
在执行时,上述程序将生成以下输出 –
Input string: blueforblueforblue
Resultant string after replacing: bluefor*luefor*lue
结论
在本文中,我们学习了如何使用3种不同的方法将除第一个字符外的所有出现替换为K。我们学习了如何使用切片来切割字符串并替换其元素。此外,我们还学习了如何使用连接运算符(+)来连接或组合两个字符串。