最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python如何查找子字符串

来源:动视网 责编:小采 时间:2020-11-27 14:23:46
文档

Python如何查找子字符串

Python如何查找子字符串:这篇文章主要介绍了Python字符串中查找子串小技巧,需要的朋友可以参考下如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2)
推荐度:
导读Python如何查找子字符串:这篇文章主要介绍了Python字符串中查找子串小技巧,需要的朋友可以参考下如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2)


这篇文章主要介绍了Python字符串中查找子串小技巧,,需要的朋友可以参考下

如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:

#determine whether s1 is a sub
stringof s2 def isSubstring1(s1,s2): 
 tag = False 
 len1 = len(s1) 
 len2 = len(s2) 
 for i in range(0,len2): 
 if s2[i] == s1[0]: 
 for j in range(0,len1): 
 if s2[i]==s1[j]: 
 tag = True 
 
return tag

可是这是Python,我们可以利用字符串自带的find()方法,于是可以这样:

def isSubstring2(s1,s2): 
 tag = False 
 if s2.find(s1) != -1: 
 tag = True 
 return tag


悲情的事就在于此,原来Python中的关键字"in”不仅可以用于列表、元祖等数据类型,还可以用于字符串。所以,这里只需要直接一行代码搞定:

def isSubstring3(s1,s2):
 return s1 in s2


后知后觉了,惭愧;-)

类似的,假设要在字符串中,查找多个子串是否存在,并打印出这些串和首次出现的位置:

def findSubstrings(substrings,destString):
 res = map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings))
 if res:
 return ', '.join(list(res))
 
;-) very cool~


UPDATE: 如果你不习惯最后面这种看起来很复杂的语法也没关系,可以使用列表解析,更加简洁:

def findSubstrings(substrings,destString):
 return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])

文档

Python如何查找子字符串

Python如何查找子字符串:这篇文章主要介绍了Python字符串中查找子串小技巧,需要的朋友可以参考下如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top