精华内容
下载资源
问答
  • 惭愧啊,今天写了个查找子串Python程序被BS了… 如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码: 复制代码 代码如下: #determine whether s1 is a substring of s2 def ...
  • 惭愧啊,今天写了个查找子串Python程序被BS了…如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:复制代码 代码如下:#determine whether s1 is a substring of s2def ...

    惭愧啊,今天写了个查找子串的Python程序被BS了…

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

    复制代码 代码如下:

    #determine whether s1 is a substring of 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])

    展开全文
  • 在[beg, end]范围内查找substring,找到返回substr的起始下标,否则返回 -1。 1 string = 'Hello Python' 2 print(string.find('h', 0, len(string))) # 输出 9 3 print(string.find('thon') ...

    find(substr, beg=0, end=len(string)):

    在[beg, end]范围内查找substring,找到返回substr的起始下标,否则返回 -1。

    1 string = 'Hello Python'
    2 print(string.find('h', 0, len(string)))  # 输出 9
    3 print(string.find('thon')  # 输出 8
    4 print(strin.find('thon', 9, len(string)) # 输出 -1

     

     

    index(substr,beg=0,end=len(string)):

    同find()类似,不同的是,如果未找到substr,则返回一个异常 ValueError: substring not found

    1 string = 'Hello Python'
    2 print(string.index('h', 0, len(string)))  # 输出 9
    3 print(string.index('thon')  # 输出 8
    4 print(strin.index('thon', 9, len(string)) # 抛出异常:ValueError: substing not found

     

    转载于:https://www.cnblogs.com/yangwu-183/p/10042755.html

    展开全文
  • python 字符串查找子串

    千次阅读 2016-04-02 11:27:11
    # -*- coding:UTF-8 -*-... 字符串查找子串的方法 检查字符串s2中是不是含有s1 """ # 方法1: def is_sub_string1(s1, s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0, len2): if s2[i] ==
    # -*- coding:UTF-8 -*-
    
    """
       字符串中查找子串的方法
       检查字符串s2中是不是含有s1
    """
    
    
    # 方法1:
    def is_sub_string1(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
    
    
    # 方法2:利用字符串自带的find()方法
    def is_sub_string2(s1, s2):
        tag = False
        if s2.find(s1) != -1:
            tag = True
        return tag
    
    
    # 方法3:关键字"in”不仅可以用于列表、元祖等数据类型,还可以用于字符串。
    #       所以,这里只需要直接一行代码搞定:
    def is_sub_string3(s1, s2):
        return s1 in s2
    
    
    
    
    
    
    展开全文
  • 直接利用字符串查找方法,只能查找到字符串首次出现的位置。 input = "abc def abc ghi" str = "abc" start = input.find(str) # 0 start = input.index(str) # 0 end = start + len(str) - 1 # 统计子串出现...

    一. Python自带函数

            直接利用字符串查找方法,只能查找到字符串首次出现的位置。

    input = "abc def abc ghi"
    str = "abc"
    
    start = input.find(str)   # 0
    start = input.index(str)  # 0
    
    end = start + len(str) - 1
    
    # 统计子串出现的次数
    count = input.count(str)  # 2

    二. 正则表达式

            利用正则表达式的 finditer 方法,查找子串出现的所有位置

    import re
    
    input = "abc def abc ghi"
    str = "abc"
    
    starts = [each.start() for each in re.finditer(str, input)]  # [0, 8]
    ends = [start + len(str) - 1 for start in starts]
    span = [(start, end) for start, end in zip(starts, ends)]

     

    展开全文
  • 这是小白博主在刷leetcode时遇到的一道题,这是博主近日刷的leetcode题库时结果表现最好的一道题,故在此分享这份喜悦。...给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符...
  • python字符串查找的四种方法

    万次阅读 2018-09-14 20:54:12
    python 字符串查找有4个方法,1 find, 2 index方法,3 rfind方法, 4 rindex方法。 1 find()方法:查找子字符串,若找到返回从0开始的下标值,若找不到返回-1   info = 'abca' print info.find('a')##从...
  • 字符串查找基本操作主要分为三个关键词:find()、index()、count()。 这三个用法相同,格式都是为:自定义字符串名.关键词(‘子串’,开始位置,结束位置),开始和结束范围可不写。 1、find()和index()区别和联系 ...
  • python基础(一)字符串查找

    万次阅读 2019-02-18 21:24:33
    (2)字符串查找     .count() 功能:计算指定的字符在字符串里出现的次数有多少 格式:字符串.count(查找字符串[,开始索引[,结束索引]]) 返回值:整数 .find() 功能与index()一样 功能:查找指定的字符在...
  • Python字符串查找和替换

    千次阅读 2020-01-09 15:26:33
    a、str.find():正序字符串查找函数 函数原型: str.find(substr [,pos_start [,pos_end ] ] ) 返回str中第一次出现的substr的第一个字母的标号,如果str中没有substr则返回-1,也就是说从左边算起的第一次出现的...
  • A = input("请输入长字符串:") B = input("请输入子字符串:") p = A.count(B) print(p) def str_count(a,b): ''' 计算子字符串个数 ''' length_a = len(a) length_b = len(b) count = 0 i = 0 for .....
  • https://blog.csdn.net/jiangjiang_jian/article/details/79453856 [s[i:i + x + 1] for x in range(len(s)) for i in range(len(s) - x)] 转载于:...
  • 主要介绍了Python简单实现查找一个字符串中最长不重复子串的方法,涉及Python针对字符串的简单遍历、运算等相关操作技巧,需要的朋友可以参考下
  • 本文实例讲述了Python实现针对给定字符串寻找最长非重复子串的方法。分享给大家供大家参考,具体如下: 问题: 给定一个字符串,寻找其中最长的重复子序列,如果字符串是单个字符组成的话如“aaaaaaaaaaaaa”那么...
  • 假如有个任务: 给定一个字符串,通过查询字典,来替换给定字符中的变量。如果使用通常的方法: >>> This is a %(var)s % {var:dog} 'This is a dog' >>> 其实可以使用string.Template类来实现上面的替换 >>> from...
  • python 字符串子A substring is the part of a string. Python string provides various methods to create a substring, check if it contains a substring, index of substring etc. In this tutorial, we will ...
  • 有时候我们需要在某段字符串或者某段语句中去查找确认是否包含我们所...以上这篇Python实现确认字符串是否包含指定字符串的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • python查找字符串出现的所有位置

    千次阅读 2021-01-30 13:40:28
    Python字符串的类方法中,index、find、rindex等函数都是只能查找一次字符串出现的位置,尴了个尬,所以我们需要正则表达式自己写一个: import re [substr.start() for substr in re.finditer(子字符串, 原字符串)] ...
  • Python数字整型 int 如:1 4 8浮点型 float 如:1.0 3.6 78.9长整型 long 如:1L 37565846588L(在一个整数后面加上L就是长整型,理论上长整型的长度为 2147483647)注意:在Python...
  •  我们知道,字符串内置了很多功能的处理函数,其中,find、index函数都可以接受一个参数意义是作为目标子串,而返回母串中从左到右遍历时子串第一次出现的索引值(每一次调用都是从头开始,没有记忆),如果查询不...
  • python版 str1 = "abskfirgnlskgabndf" str2 = "ab" num = (len(str1) - len(str1.replace(str2,""))) // len(str2) Java版 public class StrNum { public static void main(String[] args) { String str1 ...
  • 找出字符串的所有子串-Python

    万次阅读 2018-03-06 09:36:34
    给定一个字符串,找出其中所有子串,这可能是暴力查找回文的第一步,如:>>> s = 'abc' >>> [s[i:i + x + 1] for x in range(len(s)) for i in range(len(s) - x)] ['a',...
  • Python 的字符串类有个很好用的函数,可很方便的用于与查找Python字符串类型对象子串相关的操作,具体的API如下: | find(...) | S.find(sub [,start [,end]]) -> int | | Return the lowest index in S ...
  • python字符串查找函数的使用打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下:s ='/ab/bx,.s'print (s.find('/x'))注意find是匹配子字符串,而不是匹配第一个字符F5运行程序,打印出-1,代表没有...
  • def findMaxSubString(str1, str2): """ """ maxSub = 0 maxSubString = "" str1_len = len(str1) str2_len = len(str2) for i in range(str1_len): str1_pos = i ...
  • 假设我们有一个关键词“智能音箱”,我们想通过这个关键词...1.字符串查找: 用法: str.find(str, beg=0, end=len(string)) 参数: str -- 指定检索的字符串,当只传入此参数时,默认查找在字符串里第一个出现的子...
  • in 和 not in 在 Python 中是很常用的关键字,我们将它们归类为 成员运算符。 使用这两个成员运算符,可以很让我们很直观清晰的判断一个对象是否在另一个对象中,示例如下: >>> "llo" in "hello, python...
  • 主要介绍了Python实现简单查找最长子串功能,涉及字符串遍历、统计等相关操作技巧,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,808
精华内容 5,123
关键字:

python字符串查找子串

python 订阅