我有这样一根线:
rawString "sampleStringWithNumber/obj3453andBlabla"
我想做到这一点:
newString = "obj3453"
我知道有很多相关的问题,如果obj3453
后面的下一个字符是静态的,也不会有问题,但不幸的是,下一个字符可以是任何字母(单词),也可以有多于/少于4个数字。你知道吗
那么有没有可能这样做:
def find_between( s, first, last ):
try:
start = s.index( first ) + len( first )
end = s.index( last, start )
return s[start:end]
except ValueError:
return ""
print ((find_between(rawString, "/","the_next_string_thats_not_a_number")))
基本上我想传递一个变量作为第二个参数,它可以是除数字以外的任何东西。你知道吗
使用正则表达式!你知道吗
正则表达式
/(.*?\d+)
搜索斜杠,后跟由任意字符序列(非贪婪)组成的组:.*?
,后跟任意数量的数字:\d+
。你知道吗re.search
返回匹配对象(或无),第一个.group
将是结果。在实际代码中,您可能应该首先测试是否找到任何东西。你知道吗相关问题 更多 >
编程相关推荐