检测一个字符是否包含在另一个字符中

在实际开发当中,经常遇到要判断一个字符窜是否是另一个字符窜的子窜。下面的函数可以实现判断,并且能返回与之相同的第一个字符的位置。

int   Index(char *s,char *t)

{

   int i,j,k;  

  for(i=0;s[i]!='/0';i++)

   {

          j=i;   //每次循环都保存当前i变量的值

 

         //子字符窜的第一个位置开始比较

          for(k=0;t[k]!='/0';k++)

             {

                   if(s[j]!=t[k])

                     {

                          break;

                     }

                     j++;

             }

            if(t[k]=='/0')

                {

                     return i;    //返回第一个相同的位置
                }

   }

      return -1;    //不匹配则返回-1
}

在 Python 中,判断一个字符串是否包含一个字符串有多种方法: ### 使用 `in` 关键字 这是最简单的方法,使用 `in` 关键字来检查一个字符串是否包含一个字符串中。示例代码如下: ```python str1 = "Hello, World!" str2 = "Hello" if str2 in str1: print("str1包含str2") else: print("str1不包含str2") ``` 此方法简洁直观,代码可读性高,是日常使用中较为常用的方式之一[^1]。 ### 使用 `find()` 方法 `find()` 方法用于检测字符串是否包含字符串,如果包含则返回子字符串第一次出现的索引位置,若不包含则返回 -1。示例代码如下: ```python str1 = "abcdefg" str2 = "cd" if str1.find(str2) != -1: print("str1包含str2") else: print("str1不包含str2") ``` ### 使用 `index()` 方法(谨慎使用) `index()` 方法和 `find()` 方法类似,若包含字符串,返回第一次出现的位置,位置下标从 0 开始,但如果不包含的话,运行时会抛出异常。示例代码如下: ```python def demo(): str1 = "ab" str2 = "abc" try: if str2.index(str1) > -1: print("包含") except ValueError: print("不包含") demo() ``` 由于 `index()` 方法在不包含字符串时会抛出异常,所以使用时需要进行异常处理,相对来说没有 `find()` 方法方便[^2]。 ### 使用正则表达式 使用 `re` 模块的 `search()` 方法可以通过正则表达式来判断字符串是否包含一个字符串。示例代码如下: ```python import re str1 = "Hello, World!" str2 = "Hello" if re.search(str2, str1): print("str1包含str2") else: print("str1不包含str2") ``` 正则表达式适用于更复杂的匹配需求,当需要进行模糊匹配或者有特定规则的匹配时,正则表达式能发挥更大的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值