咨询时间:9:00~21:00 400-059-6872

    您的位置: 主页 > 内容中心 > 行业资讯>python如何修改字符串

    python如何修改字符串

    导读:在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。因此改变一个字符串的元素需要新建一个新的字符串。那么 python 如何修改字符串 呢?一起来了解下吧: pytho

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。因此改变一个字符串的元素需要新建一个新的字符串。那么python如何修改字符串呢?一起来了解下吧:

    python如何修改字符串

    python如何修改字符串

    python中字符串属于不可修改对象,例如如下:

    s='hELLO'

    s[0].upper()

    print(s)

    print(s[0])

    print(s[0].upper())

    输出:

    hELLO

    h

    H

    在平时我们很多情况下需要修改字符串,可以以以下方式进行修改字符串

    1、使用replace()方法

    s=s.replace(s[0],s[0].upper())

    print(s)

    输出:

    HELLO

    2、先转换为list,再join组成新字符

    l=list(s)

    l[2]='l'

    print(s,''.join(l),sep=' ')

    输出:

    HELLO

    HElLO

    3、使用序列切片方式:

    s2=s[:2]+'r'+s[3:]

    print(s,s2,sep=' ')

    输出:

    HELLO

    HErLO

    修改Python字符串的方法

    方法一:将字符串转换为列表,修改列表的元素后,在重新连接为字符串:

    方法二:使用str.replace方法替换成我们想要的字符串

    非常感谢老铁的留言,指出了这种方法是存在缺陷的,replace函数用法:str.replace(old, new, max),是把字符串str中的所有old字符子串替换为new,max指定从左往右的最大替换次数,max可省略。

    因此这种方法不适合单个字符或字符子串的修改,有可能会把所有相同字符子串都修改掉。

    方法三:将字符串切片后相加:

    可以看出, 以上的方法,都没有修改str1 的值,是通过不同的方法得到我们想要的字符串,不过我们再把str2赋给str1,就可达到修改字符串的目的。

    另外,相比之下方法一相对灵活,可以对转换后的列表进行索引和修改,在字符串多处需要修改时尤为适用,但消耗的资源会稍多一些,尤其是在字符串较大的时候;方法二适合替换掉字符串中的所有指定字符子串;方法三则适合小范围的连续修改。

    python字符串怎样修改

    方法1:将字符串转换成列表后修改值,然后用join组成新字符串

    >>> s='abcdef' #原字符串

    >>> s1=list(s) #将字符串转换为列表

    >>> s1

    ['a', 'b', 'c', 'd', 'e', 'f'] #列表的每一个元素为一个字符

    >>> s1[4]='E' #将列表中的第5个字符修改为E

    >>> s1[5]='F' #将列表中的第5个字符修改为E

    >>> s1

    ['a', 'b', 'c', 'd', 'E', 'F']

    >>> s=''.join(s1) #用空串将列表中的所有字符重新连接为字符串

    >>> s

    'abcdEF' #新字符串

    方法2: 通过字符串序列切片方式

    >>> s='Hello World'

    >>> s=s[:6] + 'Bital' #s前6个字符串+'Bital'

    >>> s

    'Hello Bital'

    >>> s=s[:3] + s[8:] #s前3个字符串+s第8位之后的字符串

    >>> s

    'Heltal'

    方法3: 使用字符串的replace函数

    >>> s='abcdef'

    >>> s=s.replace('a','A') #用A替换a

    >>> s

    'Abcdef'

    >>> s=s.replace('bcd','123') #用123替换bcd

    >>> s

    'A123ef'

    方法4: 通过给一个变量赋值(或者重新赋值)

    >>> s='Hello World'

    >>> s2=' 2017' #变量赋值

    >>> s=s+s2

    >>> s

    'Hello World 2017'

    >>> s='Hello World'

    >>> s='Hello World 2017' #重新赋值

    >>> s

    'Hello World 2017'

    Python中如何修改字符串的值

    Python中列表list中的值是可修改的,而元组和字符串的值是不可修改的。看下面的示例:

    string = 'abcdafg'

    string[4] = 'e'

    print(string)

    输出结果:

    string[4] = 'e'

    TypeError: 'str' object does not support item assignment

    但在实际应用中,经常需要对字符串的值进行一些修改操作,解决方案有3种:

    (1)使用字符串的replace函数

    string = 'abcdafg'

    newstr = string.replace('a', 'e')

    print(string, newstr, sep=' ')

    输出结果:

    abcdafg

    ebcdefg

    可以看出,replace会生成一个新的字符串,原字符串仍然不变。replace会修改字符串中所有相关的子串。很多时候并不能满足我们的应用要求。

    (2)将字符串转换成列表后修改值,然后用join组成新字符串

    string = 'abcdafg'

    newstr = list(string)

    newstr[4] = 'e'

    print(string, ''.join(newstr), sep=' ')

    输出结果:

    abcdafg

    abcdefg

    (3)使用序列切片方式

    字符串本身也是一种序列,可以使用序列切片的方式。

    http://saltriver.blog.163.com/blog/static/2260971542016525103755389/

    string = 'abcdafg'

    newstr = string[:4] + 'e' + string[5:]

    print(string, newstr, sep=' ')

    输出结果:

    abcdafg

    abcdefg

    免责声明:本文素材取自公开网络资料,经我方编辑重新梳理与加工,文中观点仅供参考,不代表小码王官方立场。本文标题:python如何修改字符串,本文链接:https://www.xiaomawang.cn/info/68246.html;欢迎转载,转载请说明出处。若您认为本文侵犯了您的合法权益,或您发现该内容有任何涉及有违公德、触犯法律等违法信息,请您立即通过邮件(邮箱号:hzlixy@xiaoma.cn)联系我们及时修正或删除。
    回到顶部
    弹出表单占位框
    免费领取小码王少儿AI编程体验课