`
yeak2001
  • 浏览: 102609 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Java中String.split应该注意的问题

    博客分类:
  • java
阅读更多
今天在使用String.split方法分隔字符串时碰到一个问题,就是用:"***.***".split(".")把文件的名字和后缀分开的时候,这个函数竟然不起作用,很是纳闷,后来才知道有些字符不能直接用的,分隔符如果用到一些特殊字符,比如 "| " ,"*",等否则会出现问题。现结合网上的资料总结如下:
    public String[] split(String regex)
      Splits this string around matches of the given regular expression. 
      参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:
    (1) 用竖线 | 分隔字符串,你将得不到预期的结果
    String[] aa = "aaa|bbb|ccc".split("|");
    //String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的结果
    for (int i = 0 ; i <aa.length ; i++ ) {
      System.out.println("--"+aa);
    }
   (2)用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
    String[] aa = "aaa*bbb*ccc".split("*");
    //String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的结果   
    for (int i = 0 ; i <aa.length ; i++ ) {
      System.out.println("--"+aa);
    }
    (3)显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的结果。
    (4) "|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。
    (5)还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:
    String[] aa = "aaa\\bbb\\bccc".split(\\\\);
    (6) 还有就是点号".",也要首先转义才能得到正确的结果。
分享到:
评论

相关推荐

    String.split()方法使用总结

    在Java编程语言中,`String.split()`方法是一个非常实用且强大的工具,用于将字符串分割成字符串数组,基于正则表达式或指定的分隔符。这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者...

    Java中String.split()用法小结

    Java中的`String.split()`方法是用于将一个字符串按照指定的分隔符进行切割,返回一个字符串数组。这个方法是基于正则表达式的,因此在处理某些特殊字符时需要注意字符的转义。 1. **基本用法** `String.split()`...

    java的String[] split 示例

    在Java编程语言中,`String`类提供了许多用于操作字符串的方法,其中之一便是`split`方法。这个方法在处理文本数据时极为有用,特别是在需要根据特定的分隔符将字符串分割成多个子串的情况下。下面,我们将深入探讨`...

    浅谈java String.split丢失结尾空字符串的问题

    在Java编程语言中,`String`类提供了许多实用的方法,其中之一就是`split()`。这个方法用于根据指定的分隔符将字符串分割成多个子字符串,并返回一个字符串数组。然而,有时候开发者可能会遇到一个问题,即使用`...

    String类的intern、split方法

    String类的intern、split方法 String 类的 intern 方法是一个本地方法,定义如下:public native String intern();该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 ...

    Java类库复习——java.lang.String

    在Java编程语言中,`java.lang.String`是最重要的类之一,它是所有字符串操作的基础。这个类位于核心类库中,因此无需显式导入即可使用。本文将深入探讨`String`类的一些关键知识点,包括它的特性、构造方法、常用...

    Java中Split的用法及注意

    Java 中 Split 的用法及注意 Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `...

    java中的split的用法

    `split`方法是Java `String`类中的一个成员方法,其主要功能是从当前字符串中根据指定的正则表达式进行分割,并返回一个字符串数组。这意味着我们可以使用它来按照特定的分隔符或者模式将字符串拆分成多个子串。 ##...

    Java字符串分隔方法split实践

    `split()`方法位于`java.lang.String`类中,它的基本语法如下: ```java public String[] split(String regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分隔字符串的规则。正则表达式是一种强大的文本...

    String split函数

    String split函数是 Java 中 String 类的一种常用函数,用于将一个字符串分割为子字符串,并将结果作为字符串数组返回。在实际开发中,String split函数经常被用于数据处理和字符串操作。本文将详细介绍 String ...

    字符串string.zip

    在本压缩包“字符串string.zip”中,主要包含的是与Java编程语言中字符串相关的教学资料,特别是针对S1课程的学员。这个课程旨在帮助学生深入理解程序逻辑,并且重点聚焦在Java中的字符串处理。文件“Chapter15”...

    JAVA_split_用法

    在Java编程语言中,`String`类提供了多个实用的方法来处理字符串,其中`split()`方法是用于将一个字符串分割成字符串数组的一种常见方式。此方法利用正则表达式(Regular Expression)作为分隔符来分割字符串,并...

    Java字符串split使用方法代码实例

    Java 中的字符串 split 方法是 String 类中的一个方法,名为 `split()`。该方法将一个字符串拆分成多个子字符串,并将其存储在一个字符串数组中。 Java 字符串 Split 语法 Java 字符串 split 语法如下所示: ```...

    Java的 String 类常用方法大全

    Java 中的 String 类提供了 split 方法来拆分字符串。 1. split(String str) 方法 split 方法将字符串按照指定的分隔符拆分成多个子字符串。如: String string1 = "abc1def1ghi1asd12345"; String result1[] = ...

    Java中String的常用方法.pdf

    Java中的`String`类是处理文本数据的核心工具,它提供了丰富的功能来操作和管理字符串。字符串在Java中是不可变的,这意味着一旦创建了一个`String`对象,就不能更改它的内容。以下是对`String`类中一些常用方法的...

    api_String.zip_brain2bi_java

    本教程将深入探讨`api_String.zip_brain2bi_java`这个压缩包文件中涉及到的Java String类的相关知识点,旨在帮助Java初学者更好地理解和运用这些方法。 首先,让我们了解String类的基本构造。String对象可以通过...

    介绍java中String类的方法

    但要注意,频繁的拼接操作会生成新的String对象,可能导致性能问题。 4. **String的方法**: - `charAt(int index)`:返回指定索引处的字符。 - `startsWith(String prefix)`:检查字符串是否以指定的前缀开始。 ...

    StringAPI.java

    Java String 类型 API 测试代码 1.String和char[]之间的转换 toCharArray(); 2.String和byte[]之间的转换 getBytes() Arrays工具类 : Arrays.toString(names) String类 String replace(char oldChar, ...

    java中的String类常用方法解析(一)

    在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...

Global site tag (gtag.js) - Google Analytics