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

新手上路,请多包涵

Python中是否有任何函数可用于在字符串的某个位置插入值?

像这样的东西:

"3655879ACB6" 然后在位置4添加 "-" 变成 "3655-879ACB6"

原文由 Michel Andrade 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 659
2 个回答

不,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'

原文由 Ignacio Vazquez-Abrams 发布,翻译遵循 CC BY-SA 3.0 许可协议

这看起来很简单:

 >>> 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)

原文由 Mario César 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题