吐出绳子,然后把剩下的绳子移走

2024-04-25 20:58:25 发布

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

我有一个字符串srting=123d*gss6agn 如何删除=之后的所有内容并保留为空 我应该使用re还是string模块,我如何解决它


Tags: 模块字符串re内容stringgss6agnsrting
3条回答

如果你想用正则表达式。。。尽管我个人会选择另一个答案。你知道吗

import re 
a = "srting=123d*gss6agn"
result = re.sub(r'=.','=',a)

用一个等号替换等号后面的所有文本。你知道吗

试试这个:

a="srting=123d*gss6agn"
a.split("=")[0]+"="

或者这个:

a="srting=123d*gss6agn"
a[:a.index("=")+1]

打开文件:

with open("path/to/your/file.txt","r") as f:
    a=f.read() # and then use an option above

使用partition():

    s='srting=123d*gss6agn'
    s,separator,remainder=s.partition("=")
    print(s)
Out:
   'srting'

(如果缺少“=”,则不例外。)

只是玩:

    import re
    re.sub(r"(?<==).*",lambda m: m[0][::-1],s)
    Out: 'srting=nga6ssg*d321'

(?<==) lookbehind ?<= for'='; so '=' isn't captured for replacing;
sub's 2nd arg can be a function, too, which got the match object, here 'm'.

相关问题 更多 >