【发布时间】:2019-01-10 09:20:17
【问题描述】:
我有一个字符串srting=123d*gss6agn
我如何在= 之后删除所有内容并留空
我应该使用 re 或 string 模块,我该如何解决它
【问题讨论】:
-
print("srting=123d*gss6agn".split("=")[0])? -
你也想去掉等号吗?
我有一个字符串srting=123d*gss6agn
我如何在= 之后删除所有内容并留空
我应该使用 re 或 string 模块,我该如何解决它
【问题讨论】:
print("srting=123d*gss6agn".split("=")[0]) ?
使用分区():
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'.
【讨论】:
试试这个:
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
【讨论】:
.txt
如果您想使用正则表达式...虽然我个人会选择其他答案。
import re
a = "srting=123d*gss6agn"
result = re.sub(r'=.','=',a)
用一个等号替换等号后的所有文本。
【讨论】: