在Python中,在给定索引处的给定字符串中插入一些字符串

2024-04-19 00:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,面临一个问题:如何在已经存在的字符串中插入一些字段?

例如,假设我从任何包含以下内容的文件中读取了一行:

line = "Name Age Group Class Profession"

现在,我必须在类字段之前的同一行中多插入3个字段(组)。这意味着输出线应该是:

output_line = "Name Age Group Group Group Group Class Profession"

我可以很容易地检索第三个字段(使用split方法),但是请告诉我插入字符串的最简单方法?


Tags: 文件方法字符串nameoutputagelinegroup
3条回答

我知道这是不合时宜的,但最简单的方法是:

def insert (source_str, insert_str, pos):
    return source_str[:pos]+insert_str+source_str[pos:]

为了让未来的“新手”来解决这个问题,我认为一个快速的答案很适合这个主题。

就像bgporter所说:Python字符串是不可变的,因此,为了修改字符串,必须使用已有的片段。

在下面的示例中,我将'Fu'插入到'Kong Panda',以创建'Kong Fu Panda'

>>> line = 'Kong Panda'
>>> index = line.find('Panda')
>>> output_line = line[:index] + 'Fu ' + line[index:]
>>> output_line
'Kong Fu Panda'

在上面的示例中,我使用索引值将字符串“切片”为2个子字符串: 1包含插入索引之前的子字符串,另一个包含其余子字符串。 然后我简单地在两者之间添加所需的字符串,然后我们在另一个字符串中插入了一个字符串。

Python's slice notation有一个很好的答案解释了字符串切片的主题。

Python中的字符串是不可变的,这一点常常会让新的Python程序员感到恼火,但其他海报并没有明确说明这一点——您永远不能在适当的地方修改它们。

在使用Python中的字符串时,您需要重新培训自己,这样就不用思考“如何修改该字符串?”相反,你想的是“我怎样才能创建一个新的字符串,它有一些我已经得到的片段?”

相关问题 更多 >