精华内容
下载资源
问答
  • Java子字符串

    2021-02-27 09:29:01
    Java String substring()方法用于将String的一部分作为新String返回。此方法始终返回一个新的String,...substring(int beginIndex) - 此方法返回一个新字符串,该字符串是此字符串的子字符串子字符串以指定索引...

    Java String substring()方法用于将String的一部分作为新String返回。此方法始终返回一个新的String,并且原始字符串值不受影响,因为String在java中是不可变的。

    Java String substring()方法已重载,有两个变体。

    substring(int beginIndex) - 此方法返回一个新字符串,该字符串是此字符串的子字符串。子字符串以指定索引处的字符开头,并延伸到此字符串的末尾。

    substring(int beginIndex, int endIndex) - 此方法返回一个新字符串,该字符串是此字符串的子字符串。子字符串从指定的beginIndex开始,并扩展到索引endIndex-1处的字符。因此子字符串的长度为(endIndex - beginIndex)。

    Java子字符串要点

    如果满足以下任何条件,则两个字符串子字符串方法都可以抛出IndexOutOfBoundsException异常。

    如果beginIndex为负数

    endIndex大于此String对象的长度

    beginIndex大于endIndex

    beginIndex是包含的,endIndex在两个子字符串方法中都是不包含的。

    Java子字符串示例

    下面是java中子字符串的简单程序。

    public class StringSubstringExample {

    public static void main(String[] args) {

    String str = "www.yiibai.com";

    System.out.println("Last 4 char String: " + str.substring(str.length() - 4));

    System.out.println("First 4 char String: " + str.substring(0, 4));

    System.out.println("website name: " + str.substring(4, 14));

    }

    }

    执行上面示例代码,得到以下结果 -

    Last 4 char String: .com

    First 4 char String: www.

    website name: yiibai.com

    在Java中使用子串检查回文

    可以使用substring来检查一个String是否是回文。

    public class StringPalindromeTest {

    public static void main(String[] args) {

    System.out.println(checkPalindrome("abcba"));

    System.out.println(checkPalindrome("XYyx"));

    System.out.println(checkPalindrome("999232999"));

    System.out.println(checkPalindrome("CCCCC"));

    }

    private static boolean checkPalindrome(String str) {

    if (str == null)

    return false;

    if (str.length() <= 1) {

    return true;

    }

    String first = str.substring(0, 1);

    String last = str.substring(str.length() - 1);

    if (!first.equals(last))

    return false;

    else

    return checkPalindrome(str.substring(1, str.length() - 1));

    }

    }

    执行上面示例代码,得到以下结果 -

    true

    false

    true

    true

    在上面示例代码中,检查第一个字母和最后一个字母是否相同。如果它们不相同,则返回false。否则,通过传递删除了第一个和最后一个字母的子字符串来递归地再次调用该方法。

    ¥ 我要打赏

    纠错/补充

    收藏

    加QQ群啦,易百教程官方技术学习群

    注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

    展开全文
  • 通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用,判断字符串中包含子字符串的方法 无 源码与演示: 源码出处 1. 查询字符串中是否包含非数字字符SELECT PATINDEX('%[^0-9]%', '1235X461')SELECT PATINDEX('%[^...

    通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用,判断字符串中包含子字符串的方法 无 源码与演示: 源码出处 1. 查询字符串中是否包含非数字字符SELECT PATINDEX('%[^0-9]%', '1235X461')SELECT PATINDEX('%[^0-9]%', '12350461')2. 查询字符串中是否包

    通过2个函数 CHARINDEX 和 PATINDEX 以及通配符的灵活使用,判断字符串中包含子字符串的方法

    源码与演示:源码出处

    1. 查询字符串中是否包含非数字字符

    SELECT PATINDEX('%[^0-9]%', '1235X461')

    SELECT PATINDEX('%[^0-9]%', '12350461')

    2. 查询字符串中是否包含数字字符

    SELECT PATINDEX('%[0-9]%', 'SUYLLGoO')

    SELECT PATINDEX('%[0-9]%', 'SUYLLG0O')

    3.函数判断字符串只包含数字

    CREATE FUNCTION [dbo].fn_IsNumeric

    (

    @pString VARCHAR(8000)

    )

    RETURNS bit

    WITH ENCRYPTION

    AS

    BEGIN

    DECLARE @vJudge int

    SET @vJudge = 0

    SELECT @vJudge =

    CASE

    WHEN PATINDEX('%[0-9]%', LOWER(@pString)) > 0 THEN 0

    WHEN PATINDEX('%[0-9]%', LOWER(@pString)) = 0 THEN 1

    END

    RETURN @vJudge

    END

    4.函数判断字符串只包含字母(忽略大小写)

    CREATE FUNCTION [dbo].fn_IsAlpha

    (

    @pString VARCHAR(8000)

    )

    RETURNS bit

    WITH ENCRYPTION

    AS

    BEGIN

    DECLARE @vJudge int

    SET @vJudge = 0

    SELECT @vJudge =

    CASE

    WHEN PATINDEX('%[a-z]%', LOWER(@pString)) > 0 THEN 0

    WHEN PATINDEX('%[a-z]%', LOWER(@pString)) = 0 THEN 1

    END

    RETURN @vJudge

    END

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 从python字符串获取子字符串

    千次阅读 2020-12-30 07:28:31
    [31m\n[1m[31mError: [0m[0m[1mError import KeyPair: InvalidKeyPair.Duplicate: The keypair 'avtx-ctrl-key' already exists.\n\tstatus code: ... :Evvery将提取从Word开始的子字符串 错误 在哪里结束 request id

    [31m\n[1m[31mError: [0m[0m[1mError import KeyPair: InvalidKeyPair.Duplicate: The keypair 'avtx-ctrl-key' already exists.\n\tstatus code: 400, request id: a56bb69b-0dc1-4c2f-a0c0-96d1be7c1efe[0m\n\n[0m[0m[0m\n[31m\n[1m[31mError: [0m[0m[1mError creating IAM Role my-role-app: EntityAlreadyExists: Role with name my-role-app already exists.\n\tstatus code: 409, request id: a3cbed94-1e30-4cdd-b125-548d422ba105[0m\n\n[0m[0m[0m\n[31m\n[1m[31mError: [0m[0m[1mError creating IAM policy my-assume-role-policy: EntityAlreadyExists: A policy called my-assume-role-policy already exists. Duplicate names are not allowed.\n\tstatus code: 409, request id: 643d1d64-4b27-43db-be11-5585410c31c2[0m\n\n[0m[0m[0m\n[31m\n[1m[31mError: [0m[0m[1mError creating IAM Role my-role-ec2: EntityAlreadyExists: Role with name my-role-ec2 already exists.\n\tstatus code: 409, request id: a741fc5f-7638-4489-be09-6f97dddf148d[0m\n\n[0m[0m[0m\n[31m\n[1m[31mError: [0m[0m[1mError creating VPC: VpcLimitExceeded: The maximum number of VPCs has been reached.\n\tstatus code: 400, request id: 0b8e7173-cd27-42d1-8ae1-a872035a8dcd[0m\n\n[0m[0m[0m\n[31m\n[1m[31mError: [0m[0m Controller launch failed, aborting.\n

    1. Error import KeyPair: InvalidKeyPair.Duplicate: The keypair 'avtx-ctrl-key' already exists.status code: 400,

    2. Error: Error creating IAM policy my-assume-role-policy: EntityAlreadyExists: A policy called my-assume-role-policy already exists. Duplicate names are not allowed.\n\tstatus code: 409, request id: 643d1d64-4b27-43db-be11-5585410c31c2

    等等。

    :Evvery将提取从Word开始的子字符串

    错误

    在哪里结束

    request id

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

    这是小白博主在刷leetcode时遇到的一道题,这是博主近日刷的leetcode题库时结果表现最好的一道题,故在此分享这份喜悦。

    希望在以后的日子里可以继续进步,持之以恒。

     

    目录

    题目介绍

    解题思路及代码

    1.调用函数——find/index

    2.暴力匹配——双指针

    3.暴力匹配——单指针

             4.KMP算法



    题目介绍

    这道题是leetcode题库中的一道简单题(28)题,题目描述如下:

    实现 strStr() 函数。

    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回  -1 。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/implement-strstr

     

    解题思路及代码

    这里有四种解题思路供读者参考:

    1.调用函数——find/index

    (1)find函数:

    str.find(str, beg=0, end=len(string))
    
    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。
    • 若beg和end省略,则取默认值。

    如果包含子字符串返回索引值,否则返回-1。

    (2)index函数:

    str.index(str, beg=0, end=len(string))
    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。
    • 若beg和end省略,则取默认值。

    如果包含子字符串返回开始的索引值,否则抛出异常,即返回:ValueError: substring not found

    因此,此种解题思路的代码如下:

    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            S = haystack
            return S.find(needle)
    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            S = haystack
            return S.index(needle)
    

    注:示例2中,若未查找到子字符串,应返回-1。 find函数符合此要求,index函数不符合此要求。因此,显然find函数更适合此题目。

     

     

    在这里还要简单地介绍一下与 find和index函数很相似的rfind和rindex函数,区别在于rfind/rindex函数返回的是最后一次出现这个字符串的索引位置,而find/index函数返回的是第一次出现这个字符串的索引位置。

    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            S = haystack
            return S.index(needle)
    solution = Solution()
    print(solution.strStr("albjnbl", "l"))
    
    >>>1
    ​
    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            S = haystack
            return S.rindex(needle)
    solution = Solution()
    print(solution.strStr("albjnbl", "l"))
    
    >>>6
    ​

     

    2.暴力匹配——双指针

    如上图所示,我们可以将母字符串 haystack 中与子字符串 needle 长度相等的子字符串一一与needle的每一位比较。

    • 时间复杂度:O(n\times m),其中 n 是字符串 haystack 的长度,m 是字符串 needle 的长度。最坏情况下我们需要将字符串 needle 与字符串 haystack 的所有长度为 m                     的子串均匹配一次。
    • 空间复杂度:O(1)。我们只需要常数的空间保存若干变量。

     

    3.暴力匹配——单指针

    Python可以直接对比两个字符串是否相同,因此我们可以直接对比两个子字符串是否相等,不用逐一对比字符串中的元素。

    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            len1 = len(haystack)
            len2 = len(needle)
            if len2 == 0:
                return 0
            if len2 > len1:
                return -1
            else:
                for i in range(len1 - len2 + 1):
                    fal_needle = haystack[i:i+len2]
                    if fal_needle == needle:
                        return i
                return -1

     

    4.KMP算法

    等博主看懂后再更新hhh~

    展开全文
  • 判断一个字符串中是否有重复的子字符串出现,比如字符串 我爱足球,我爱篮球,我爱排球。 “我爱”这个子字符串出现了三次。 2. 代码实现 public class RepetitionString { /** * 判断字符串中是否包含重复...
  • } } System.out.println("子字符串的个数为: " + counter); } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入一个字符串:"); String string = scanner...
  • 【C语言】 提取子字符串

    千次阅读 2021-05-19 08:30:01
    编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下:intsubstr(chardst[],charsrc[],intstart,intlen){}目标是:从src数组起始位置向后偏移start个字符的位置开始,最多复制len个非NUL字符到dst数组。...
  • 参见英文答案 >String contains a substring ...它一直都失败了,我有一个字符串(这应该是一个数组吗?)下面,LIST是数据库名称的字符串列表,SOURCE是回复,其中一个是数据库.以下仍然不起作用:echo "*************...
  • 标题替换子字符串 (函数) 函数介绍 字符串 是要替换字符的字符串。 子字符串 包含用于替换字符串中位于偏移量处的长度个字符的子字符串。 偏移量 确定输入字符串中开始替换子字符串的位置。 长度 确定字符串中替换...
  • 子字符串 是字符串中的一个连续(非空)的字符序列。 元音子字符串 是 仅 由元音('a'、'e'、'i'、'o' 和 'u')组成的一个子字符串,且必须包含 全部五种 元音。 给你一个字符串 word ,统计并返回 word 中 元音...
  • 在本文中,我们将向您展示如何在 Linux系统的 Shell 脚本中检查字符串是否包含子字符串的几种方法。01、使用通配符最简单的方法是用星号通配符(星号)*包围子字符串,并将其与字符串进行比较。 通配符是用于表示零个...
  • java截取相关1、length() 字符串的长度例:char chars[]={'a','b'.'c'};String s=newString(chars);int len=s.length();2、charAt() 截取一个字符例:charch;ch="abc".charAt(1); 返回'b'3、getChars() 截取多个字符...
  • 54.计算子字符串个数

    2021-11-22 19:38:27
    字符串匹配问题:输入一个字符串,计算其中包含的连续给定的子字符串的个数。 例如输入字符串" EFABCABCABCDABCDD ” , 给定子字符串" ABC” ,输出是 3 。 函数原型: int countsub( char *str, char *subs ) 。 ...
  • 您可以通过遍历所有可能的子字符串并在每个子字符串上调用.matches(regex)来执行此操作: public static List getAllMatches(String text, String regex) { List matches = new ArrayList(); for(int length = 1; ...
  • 它返回一个新字符串,该字符串是该字符串的子字符串子字符串从指定的beginIndex开始,并扩展到索引endIndex-1处的字符。因此,子字符串的长度为endIndex-beginIndex。示例importjava.lang.*;publicclassStringDemo...
  • subString方法——获取子字符串subString方法实现对字符串从指定的索引位置开始截取,直到此字符串的末尾,并返回一个新的字符串。语法1 public String subString(int beginIndex)返回值:指定的子字符串。参数:...
  • 搜索替换子字符串函数介绍二级目录三级目录 函数介绍 输入字符串指定函数的查找输入字符串。 ***搜索字符串***指定要搜索或替换的字符串。 如搜索字符串为空数组,并且替换全部?的值为FALSE,函数可在输入字符串的...
  • // 判断一个字符串是否由一个子字符串重复多次组成 //如果字符串长度为偶数,则分成两份后一定是重复的,以此类推,最多除以len/2次 //为了保证效率,不可能挨个数地除,因此,可以先找出小于len/2的质数,除以质数就...
  • 文章目录1. 题目2. 解题 1. 题目 当一个字符串 s 包含的...给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。 如果有多个答案,请你返回 最早 出现的一个。 如果不存在美好子字符串,请你返回一个空字符串。 示例
  • 给定一个字符串 s,返回 s 的不同子字符串的个数。 字符串的 子字符串 是由原字符串删除开头若干个字符(可能是 0 个)并删除结尾若干个字符(可能是 0 个)形成的字符串。 示例 1: 输入:s = “aabbaba” 输出:21...
  • 本文实例讲述了java实现统计字符串中字符及子字符串个数的方法。分享给大家供大家参考,具体如下:这里用java实现统计字符串中的字符(包括数字、大写字母、小写字母以及其他字符)个数,以及字符串的子字符串的个数。...
  • 哪种连续子字符串更长有关题目题解 题目链接:哪种连续子字符串更长 有关题目 给你一个二进制字符串 s 。 如果字符串中由 1 组成的 最长 连续子字符串 严格长于 由 0 组成的 最长 连续子字符串,返回 true ;否则,...
  • 参考链接: C++ find()查找子字符串 子字符串查找与提取 strstr()find()查找提取  strstr()与find()均可用于字符串的查找,一个返回的是内存的位置,一个却是目标字符在字符串中的下标。 strstr() 函数...
  • 由于find可能返回-1,因此您必须以不同的方式处理它,因为如果找不到字符串,您将得到: ^{pr2}$ 它是字符串中的最后一个字符。在 您应该具有如下所示的代码:#output contains the string reqPerStr. reqPerStr = ...
  • 子字符串 是字符串中的一个连续(非空)的字符序列。 元音子字符串 是 仅 由元音(‘a’、‘e’、‘i’、‘o’ 和 ‘u’)组成的一个子字符串,且必须包含 全部五种 元音。 给你一个字符串 word ,统计并返回 word ...
  • 从控制台读入一个字符串(长度不超过10),向控制台输出其所有子字符串(包括原字符串本身)。 【输入形式】 从控制台输入一个字符串,字符串中不含空格。 【输出形式】 向控制台输出所有子字符串,每行输出一个,先...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,059,016
精华内容 423,606
关键字:

子字符串