Python 以保留字符串的前N个元素并将其余部分替换为K
在本文中,我们将学习如何使用Python内部函数len(),切片(),replace(),ljust()来保留字符串的前N个元素,并用K替换其余部分。Python字符串可以简单地将字母用引号括起来创建。 Python将单引号和双引号视为相同。将值分配给变量并创建字符串非常简单。
示例
假设我们已经输入了字符串N,K的值。我们现在将保留输入字符串的前N个字符,并使用给定的K字符替换它们。
输入
inputString = 'tutorialspoint'
input_N = 9
input_K = "#"
输出
Retaining N{9} characters and replacing rest with '#': tutorials#####
在上面的例子中,首先保留输入字符串的前N(9)个字符“tutorials”,然后将剩余的字符替换为输入K即“#”符号。
使用*
运算符,切片和len() 函数
在这种方法中,我们将使用* 运算符和内部函数如切片和len() 来保留字符串的前N个元素,然后用K替换剩余的。在这里,len() 函数返回一个对象中的项目数。
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入字符串。
-
打印输入字符串。
-
创建另一个变量来存储要保留的输入N个元素的数量。
-
创建另一个变量来存储要用其他元素替换的输入字符K。
-
切片处理字符串的前N个字符以保留前N个元素。
-
将给定的字符与剩余的元素数量相乘。
-
使用+运算符将上述两个字符串连接起来。
-
在保留输入N个元素并用输入K字符替换剩余元素后,打印结果字符串。
示例
以下程序使用*运算符、切片和len()函数,在保留输入N个元素并用输入K字符替换剩余元素后返回字符串:
# input string
inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
# Slicing till the input N index to retain the first N elements
# Multiplying the remaining number of elements with the replaced character
resultantStr = inputString[:input_N] + input_K * (len(inputString) - input_N)
# printing resultant string after retaining and replacing with the input character
print("Retaining N{9} characters and replacing rest with '#':", resultantStr)
输出
执行上述程序后,将生成以下输出:
Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#': tutorials#####
使用切片、ljust()和len()函数
在这种方法中,我们将使用内置的Python函数,如切片、ljust()和len()来执行给定的任务。
语法
string.ljust(length, character)
在这里,ljust() 函数用于左对齐字符串,并使用给定字符作为填充字符。空格是默认字符。
示例
以下程序在保留输入 N 元素并使用切片、ljust() 和 len() 函数将剩余元素替换为输入 k 字符后返回一个字符串-
# input string
inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input the number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
# Slicing till the input N index to retain the first N elements
# Applying ljust() function to add remaining characters with the replaced character
resultantStr = inputString[:input_N].ljust(len(inputString), input_K)
# printing resultant string after retaining and replacing with the input character
print("Retaining N{9} characters and replacing rest with '#':", resultantStr)
输出
在执行时,上述程序将生成以下输出 –
Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#': tutorials#####
使用replace()函数
在这种方法中,我们将使用python的replace函数来保留字符串的前N个元素,并用K替换剩余的元素。
语法
string.replace(old, new, count)
在此处 replace() 函数 返回一个替换所有旧子字符串为另一个新子字符串的副本。
步骤
以下是执行所需任务的算法/步骤:
- 创建函数 replaceString() 保留字符串的前N个元素,并使用输入的K替换其余元素,参数为输入字符串。
-
使用 replace() 函数将剩余字符替换为给定的K字符。
-
返回在保留和替换后的结果字符串。
-
创建一个变量来存储 输入字符串 。
-
打印输入字符串。
-
创建另一个变量来存储 输入 N 要保留的元素数量。
-
创建另一个变量来存储 输入字符 K 要替换其他元素。
-
通过将输入字符串作为参数传递给上述定义的 replaceString() 函数调用它。
示例
以下程序通过使用 replace() 函数保留输入的N个元素,并用输入的K字符替换剩余的元素,返回一个字符串 –
# creating a function that retains the first N Elements of a string and
# replace the remaining with K by accepting the input string as an argument
def replaceString(inputString):
# Replacing the remaining characters with the given k character
resultantStr = inputString.replace(
inputString[input_N:], input_K*len(inputString[input_N:]))
# returning resultant string after retaining and replacing with the input character
return str(resultantStr)
inputString = 'tutorialspoint'
# printing input string
print("Input string:", inputString)
# input number of elements to be retained
input_N = 9
# input character to be replaced with rest of other elements
input_K = "#"
print("Retaining N{9} characters and replacing rest with '#':")
# calling the above defined replaceString() function by passing the
# input string as an argument to it
print(replaceString(inputString))
输出
在执行时,上述程序将生成以下输出:
Input string: tutorialspoint
Retaining N{9} characters and replacing rest with '#':
tutorials#####
结论
本文展示了三种不同的方法来保留字符串的前N个元素,并用另一个字符串替代剩余的K个元素。我们学习了如何使用ljust()方法将元素添加到字符串的末尾。此外,我们还学习了如何使用*运算符将字符乘以n来创建具有n个元素的字符字符串。