首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在某个位置添加字符串?

如何在某个位置添加字符串?
EN

Stack Overflow用户
提问于 2011-03-10 09:32:34
回答 7查看 402.9K关注 0票数 203

Python中有没有什么函数可以用来在字符串的某个位置插入值?

如下所示:

"3655879ACB6"然后在位置4添加"-",使其成为"3655-879ACB6"

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-10 09:34:44

不是的。Python字符串是不可变的。

>>> s='355879ACB6'
>>> s[4:4] = '-'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

但是,可以创建一个包含插入字符的新字符串:

>>> s[:4] + '-' + s[4:]
'3558-79ACB6'
票数 340
EN

Stack Overflow用户

发布于 2011-03-10 09:39:03

这看起来很简单:

>>> hash = "355879ACB6"
>>> hash = hash[:4] + '-' + hash[4:]
>>> print hash
3558-79ACB6

但是,如果您喜欢像函数这样的东西,可以这样做:

def insert_dash(string, index):
    return string[:index] + '-' + string[index:]

print insert_dash("355879ACB6", 5)
票数 69
EN

Stack Overflow用户

发布于 2011-03-10 09:48:06

由于字符串是不可变的,另一种方法是将字符串转换为列表,然后可以对其进行索引和修改,而不需要任何切片技巧。但是,要将列表返回到字符串,您必须使用使用空字符串的.join()

>>> hash = '355879ACB6'
>>> hashlist = list(hash)
>>> hashlist.insert(4, '-')
>>> ''.join(hashlist)
'3558-79ACB6'

我不确定这在性能方面如何比较,但我确实觉得它比其他解决方案更容易看起来。;-)

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5254445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档