多次编辑多行字符串中的值并创建大量新字符串?
Posted
技术标签:
【中文标题】多次编辑多行字符串中的值并创建大量新字符串?【英文标题】:Editing value in a multiline-string numerous times and creating numerous new strings? 【发布时间】:2021-10-28 05:51:45 【问题描述】:我正在使用基于 python 的软件,它利用长的多行字符串来运行。我想创建一个循环,在其中我将一个值更改为例如40 个其他值并创建 40 个新字符串,其中除了目标值之外的所有内容都相同。
我通过以下代码实现了“我想要什么”作为输出:
for x in range(0, 40000, 40):
for line in mystring.splitlines(keepends=True):
line = line.replace("24000", str(x))
line = line.strip()
print(line)
它会打印所有 40 个长字符串,但如何将它们保存到新字符串并在软件中使用?
我也可以通过以下代码实现 1 次迭代,但只能实现 1 次:
for x in range(0,40000,40):
mystring = mystring.split("\n")
mystring[17] = "Constant = " + str(x)
mystring = "\n".join(mystring)
print(mystring)
希望我的问题有意义。我只想要 40 个(在本例中)相同的新字符串,除了一个值在整个过程中发生变化。
谢谢
【问题讨论】:
【参考方案1】:或者如果您想将输出保存到新字符串中:
output_string = ""
for x in range(0, 40000, 40):
for line in mystring.splitlines(keepends=True):
line = line.replace("24000", str(x))
line = line.strip()
output_string += line + ""
# beetwen quotation marks you can put the string with
# which You would like to split every line.
【讨论】:
【参考方案2】:您应该将新的字符串值存储在一个列表中。更改您的第一个示例将如下所示:
output_strings = []
for x in range(0, 40000, 40):
for line in mystring.splitlines(keepends=True):
line = line.replace("24000", str(x))
line = line.strip()
print(line)
output_strings.append(line)
【讨论】:
以上是关于多次编辑多行字符串中的值并创建大量新字符串?的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSPredicate 过滤 NSDictionary 中的值并返回键数组