我想在很多点之前提取信息。
例如,如果我的字符串是:“” Profile Tests .................................... .....”。我只想提取“配置文件测试”。
我的实际代码是:
s1 = "Profile Tests ........................................."
s1.partition('.')[0]
之所以起作用,是因为我得到了“配置文件测试”,但是当我尝试另一个字符串时,例如:
s1 = "Issuer may be subject to a 30 per cent."
s1.partition('.')[0]
我得到“发行人的税率可能为30%”。但是如果我只有一个点,我不想提取。
仅当我有很多“。”时,我将如何提取信息。在我的字符串中?
答案 0 :(得分:0)
在分区功能中将分隔符设置为要查找的点数。因此,例如,如果您希望3点提取前一个字符串,则应使用:
s1.partition('...')[0]
然后,您应该考虑到,如果字符串“ ...”不在s1中,则应返回null(或所需的任何值),因此最终代码将是:
if s1.partition('...')[0] is s1:
result = null
else:
result = s1.partition('...')[0]
答案 1 :(得分:0)
l ='发行人的税率可能为30%。
使用下面的命令 如果l.count('。')> 1,否则l.replace('。','')l
答案 2 :(得分:0)
您可以使用此正则表达式匹配结尾处带有3个或更多点的字符串。 您可以在字符类([])中匹配所需的任何内容,并指定其后必须有3个或更多的点。
正则表达式:([\w ]+)\.{3,}$
答案 3 :(得分:-1)
您可以找到第一个'。使用str类型的find方法。然后,您可以使用slice运算符在“。”之前获取子字符串。字符。
st = 'Profile Tests .........................................'
loc = st.find('.')
st = st[:loc]