`
sd4886656
  • 浏览: 90333 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java split 竖线 |

 
阅读更多

 在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。

  我们经常使用public String[] split(String regex)方法来拆分一个有分隔符的字符串,但是由于参数regex是一个 regular-expression的匹配模式而不是一个简单的String,所以他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:用竖线 | 分隔字符串,你将得不到预期的结果

 


  view plaincopy to clipboardprint? 
  String[] aa = "aaa|bbb|ccc".split("|"); //得不到预期的结果 
  //String[] aa = "aaa|bbb|ccc".split("//|"); 这样才能得到正确的结果 
  for (int i = 0 ; i<aa.length ; i++ ) { 
  System.out.println("--"+aa[i]); 
  } 
  //用竖 * 分隔字符串运行将抛出异常,用加号 + 也是如此。 
  String[] aa = "aaa*bbb*ccc".split("*"); 
  //String[] aa = "aaa|bbb|ccc".split("//*"); 这样才能得到正确的结果 
  for (int i = 0 ; i<aa.length ; i++ ) { 
  System.out.println("--"+aa[i]); 
  }

 

 

 

  显然,+ * 不是有效的模式匹配规则表达式,用"//*" "//+"转义后即可得到正确的结果。

  "|" 分隔串时虽然能够执行,但是却不是预期的目的,"//|"转义后即可得到正确的结果。

  还有如果想在串中使用"/"字符,则也需要转义.首先要表达"aaaa/bbbb"这个串就应该用"aaaa//bbbb",如果要分隔就应该这样才能得到正确结果:

  String[] aa = "aaa//bbb//bccc".split(////);

分享到:
评论

相关推荐

    Java中Split的用法及注意

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

    Java中正则表达式split()特殊符号使用详解

    Java中正则表达式split()特殊符号使用详解 Java中的split()方法是String类中的一个方法,该方法使用正则表达式来将字符串分割成多个子字符串。然而,在使用split()方法时,需要注意特殊符号的使用,否则可能会导致...

    String.split()方法使用总结

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

    Java编码规范总结

    修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到的字符需要转义,如:句点符号“.”,美元符号“$”,乘方符号“^”,大括号“{}”,方括号“[]”,圆括号“()” ,竖线“|”,星号“*”,...

    Java中String.split()用法小结

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

    购买电影票java代码 解读txt文件

    每个字段由竖线(|)分隔。我们可以使用`split()`方法来拆分每行数据,然后创建对应的对象,如`MovieTicket`: ```java public class MovieTicket { private int movieId; private LocalDateTime showTime; ...

    java读取纯真ip数据库

    3. 解析数据:每行数据可能包含IP地址、掩码、地区等信息,使用字符串分割方法(如`split()`)根据分隔符(如逗号或竖线)将数据切分成各个部分。 4. 存储和处理数据:将解析出的数据存储到自定义的数据结构(如`...

    浅谈Java转义符\\|

    Java中的转义字符是编程时经常需要使用到的知识点,它允许程序员在字符串中包含一些特殊的字符。本文将深入探讨Java转义字符的使用,尤其是涉及正则表达式中使用的转义符。 首先,转义字符在Java中是通过反斜杠“\...

    Java 正则表达式详解

    在Java 1.4及以后的版本中,你可以直接使用`String`类的`matches()`、`replaceAll()`和`split()`方法,这些方法都支持正则表达式。 ### 示例 ```java import java.util.regex.*; public class RegexExample { ...

    Java正则表达式入门

    String[] strs = pattern.split("Java Hello World Java,Hello,,World|Sun"); for (int i = 0; i ; i++) { System.out.println(strs[i]); } ``` 此外,我们还可以使用`Matcher`的`replaceFirst()`或`replaceAll()`...

    Java正则表达式 介绍java正则表达式的基本语法

    String[] strs = pattern.split("JavaHelloWorldJava,Hello,,World|Sun"); for (int i = 0; i ; i++) { System.out.println(strs[i]); // 输出:JavaHelloWorldJava、Hello、World、Sun } ``` - **替换字符串**...

    java 分割csv数据的实例详解

    java 分割csv数据的实例详解 本文将详细介绍java 分割csv数据的实例详解,包括相关理论知识、实现代码和应用场景等。 一、csv文件简介 csv(Comma Separated Values)是一种通用的文本文件格式,用于存储表格数据...

    分割字符串函数 分割字符串函数

    请注意,由于Java的正则表达式规则,这里的竖线(|)被视为分隔符。 C#中,`string.Split()`方法允许使用字符数组作为分隔符,例如`"apple;banana;cherry".Split(';')`会返回`{"apple", "banana", "cherry"}`。同时...

    Java及python正则表达式详解

    - split():根据匹配模式分割字符串。 - sub():替换字符串中所有匹配的模式。 匹配后的match对象提供了group()、groups()、groupdict()、start()、end()和span()等方法,用于获取匹配结果的详细信息。 代码演示...

    正则表达式学习视频

    1. 使用`test()`、`match()`、`search()`、`replace()`和`split()`等JavaScript字符串方法与正则表达式配合进行文本操作。 2. 使用全局标志`g`进行全局查找,`i`标志忽略大小写,以及`m`标志使^和$匹配行首和行尾。 ...

    filter过滤器防止恶意注入

    此外,`URLfilter`还使用了`split("\\|")`来解析`web_xml_url`,这个字符串可能是用竖线分隔的多个危险字符串,比如`"|drop|insert|update|"`,这样就可以一次性检查多个可能的SQL关键字。 然而,这个简单的过滤器...

    正则表达式资料

    它在IT行业中被广泛应用,尤其是在编程语言中,如JavaScript、Python、Java等,用于数据验证、文本搜索和数据提取等任务。 正则表达式的核心概念包括: 1. **元字符**:在正则表达式中具有特殊含义的字符,例如`.`...

    ORACLE,mysql,sqlserver,sybase数据库装文本软件

    -c Cut split string 分隔字符串,可以是多个字符组合,默认竖线 -r commit rows 每插入多少行提交一次,-1表示不提交,默认-1,如果设置了ac参数为1,则此参数无效。 注意:如果设置了此参数,每到此行数会执行一次...

    2021-2022计算机二级等级考试试题及答案No.19740.docx

    22. **Java 字符串操作**:未给出完整代码,但根据题目描述,s 变量包含一个字符串,其中包含 "#aaa#",可能涉及字符串处理的方法如 split() 或 substring()。具体输出需要更多上下文信息。 这些知识点涵盖了计算机...

    正则表达式入门.doc

    10. **函数与方法**:在不同编程语言中,如JavaScript、Python、Java,使用正则表达式的方式略有不同,但通常都有`match`、`search`、`replace`、`split`等方法,用于执行查找、替换和拆分字符串的操作。 11. **...

Global site tag (gtag.js) - Google Analytics