Python 程序保留字符串的前 N ​​个元素并用 K 替换剩余元素

pythonserver side programmingprogramming

在本文中,我们将学习如何使用内部 Python 函数(如 len()、slicing()、replace()、ljust())保留字符串的前 N ​​个元素并用 k 替换剩余元素。只需将字母括在引号中,即可轻松创建 Python 字符串。Python 以相同的方式处理单引号和双引号。为变量赋值并创建字符串非常简单。

示例

假设我们已获取输入字符串 N、K 个值。我们现在将保留输入字符串的前 N 个字符,并使用上述方法将其替换为给定的 K 个字符。

输入

inputString = 'tutorialspoint'
input_N = 9
input_K = "#"

输出

保留 N{9} 个字符并用 '#' 替换其余字符:tutorials#####

在上面的例子中,保留输入字符串的前 N(9) 个字符的 tutorials,其余字符用输入 K 替换,即 # 符号。

使用 * 运算符、切片和 len()函数

在此方法中,我们将使用 * 运算符和内部函数(如切片和 len())来保留字符串的前 N ​​个元素,然后用 K 替换其余元素。这里,len() 函数是 len() 方法返回的对象中的项目数。

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤 -。

  • 创建一个变量来存储输入字符串

  • 打印输入字符串。

  • 创建另一个变量来存储要保留的输入 N元素

  • 创建另一个变量来存储要用其余元素替换的输入字符 K

  • 切分字符串的前 N ​​个字符以保留前 N 个元素。

  • 将给定的字符乘以剩余的元素数。

  • 使用 + 运算符连接上述两个字符串。

  • 保留输入 N 个元素并用输入 k 替换剩余元素后打印结果字符串字符。

示例

以下程序在保留输入的 N 个元素并使用 * 运算符、切片和 len() 函数将其余元素替换为输入的 k 个字符后返回一个字符串 –

# 输入字符串
inputString = 'tutorialspoint'
# 打印输入字符串
print("输入字符串:", inputString)
# 输入要保留的元素数
input_N = 9
# 输入要用其他元素替换的字符
input_K = "#"
# 切片到输入 N 索引以保留前 N 个元素
# 将剩余元素数与替换的字符相乘
resultantStr = inputString[:input_N] + input_K * (len(inputString) - input_N)
# 保留并替换为输入字符后打印结果字符串
print("保留N{9} 个字符,其余字符用"#"替换:"resultantStr)

输出

执行时,上述程序将生成以下输出 –

输入字符串:tutorialspoint
保留 N{9} 个字符并用 '#' 替换其余字符:tutorials#####

使用切片、ljust() 和 len() 函数

在此方法中,我们将使用内部 Python 函数(如切片、ljust() 和 len())执行给定任务。

语法

string.ljust(length, character)

此处,ljust() 函数用于将字符串左对齐,并将给定字符作为填充字符。空格是默认字符。

示例

以下程序在保留输入的 N 个元素并使用切片、ljust() 和 len() 函数将其余元素替换为输入的 k 个字符后返回一个字符串 –

# 输入字符串
inputString = 'tutorialspoint'
# 打印输入字符串
print("输入字符串:", inputString)
# 输入要保留的元素数
input_N = 9
# 输入要用其他元素替换的字符
input_K = "#"
# 切片到输入 N 索引以保留前 N 个元素
# 应用 ljust() 函数将剩余字符与替换的字符相加
resultantStr = inputString[:input_N].ljust(len(inputString), input_K)
# 保留并替换为输入字符后打印结果字符串
print("保留 N{9} 个字符并将其余部分替换为'#':",resultantStr)

输出

执行时,上述程序将生成以下输出 –

输入字符串:tutorialspoint
保留 N{9} 个字符并将其余部分替换为'#':tutorials#####

使用 replace() 函数

在此方法中,我们将使用 python 的 replace 函数保留字符串的前 N ​​个元素,并将其余部分替换为 K。

语法

string.replace(old, new, count)

此处 replace() 函数 返回字符串的副本,该副本用另一个新子字符串替换所有出现的旧子字符串。

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤 –

  • 创建函数 replaceString(),该函数保留字符串的前 N ​​个元素,并通过接受输入字符串作为参数,将其余元素替换为输入 K。

  • 使用 replace() 函数将剩余字符替换为给定的 k 个字符。

  • 保留并用输入字符替换后返回结果字符串。

  • 创建一个变量来存储输入字符串

  • 打印输入字符串。

  • 创建另一个变量来存储要保留的输入 N元素

  • 创建另一个变量来存储要用其余元素替换的输入字符 K

  • 调用上面定义的replaceString() 函数,将输入字符串作为参数传递给它。

示例

以下程序在保留输入的 N 个元素并使用 replace() 函数将其余元素替换为输入的 k 个字符后返回一个字符串 –

# 创建一个函数,该函数保留字符串的前 N ​​个元素,并
# 通过接受输入字符串作为参数将其余元素替换为 K
def replaceString(inputString):
    # 用给定的 k 个字符替换剩余的字符
    resultantStr = inputString.replace(
        inputString[input_N:], input_K*len(inputString[input_N:]))
    # 保留并替换输入字符后返回结果字符串
    return str(resultantStr)

inputString = 'tutorialspoint'
# 打印输入字符串
print("输入字符串:", inputString)
# 输入要保留的元素数
input_N = 9
# 输入要用其他元素替换的字符
input_K = "#"
print("保留 N{9} 个字符并用 '#' 替换其余字符:")
# 通过将输入字符串作为参数传递给上面定义的 replaceString() 函数来调用它
print(replaceString(inputString))

输出

执行时,上述程序将生成以下输出 –

输入字符串:tutorialspoint
保留 N{9} 个字符并用 '#' 替换其余字符:
tutorials#####

结论

本文向我们展示了三种不同的方法来保留字符串的前 N ​​个元素,并用另一个字符串替换剩余的 K 个元素。我们学习了如何使用 ljust() 方法将元素添加到字符串末尾。此外,我们还学习了如何使用 * 运算符将字符乘以 n 来创建包含 n 个元素的字符串。


相关文章