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

结论

在本文中,我们学习了如何使用三种不同的方法替换除首字符外的所有指定字符K。我们学习了如何使用切片来截取字符串并替换其元素。此外,我们学习了如何使用连接运算符(+)连接或组合两个字符串。

更新于: 2023年8月18日

443 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.