在使用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 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `...
Java中正则表达式split()特殊符号使用详解 Java中的split()方法是String类中的一个方法,该方法使用正则表达式来将字符串分割成多个子字符串。然而,在使用split()方法时,需要注意特殊符号的使用,否则可能会导致...
在Java编程语言中,`String.split()`方法是一个非常实用且强大的工具,用于将字符串分割成字符串数组,基于正则表达式或指定的分隔符。这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者...
修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到的字符需要转义,如:句点符号“.”,美元符号“$”,乘方符号“^”,大括号“{}”,方括号“[]”,圆括号“()” ,竖线“|”,星号“*”,...
Java中的`String.split()`方法是用于将一个字符串按照指定的分隔符进行切割,返回一个字符串数组。这个方法是基于正则表达式的,因此在处理某些特殊字符时需要注意字符的转义。 1. **基本用法** `String.split()`...
每个字段由竖线(|)分隔。我们可以使用`split()`方法来拆分每行数据,然后创建对应的对象,如`MovieTicket`: ```java public class MovieTicket { private int movieId; private LocalDateTime showTime; ...
3. 解析数据:每行数据可能包含IP地址、掩码、地区等信息,使用字符串分割方法(如`split()`)根据分隔符(如逗号或竖线)将数据切分成各个部分。 4. 存储和处理数据:将解析出的数据存储到自定义的数据结构(如`...
Java中的转义字符是编程时经常需要使用到的知识点,它允许程序员在字符串中包含一些特殊的字符。本文将深入探讨Java转义字符的使用,尤其是涉及正则表达式中使用的转义符。 首先,转义字符在Java中是通过反斜杠“\...
在Java 1.4及以后的版本中,你可以直接使用`String`类的`matches()`、`replaceAll()`和`split()`方法,这些方法都支持正则表达式。 ### 示例 ```java import java.util.regex.*; public class RegexExample { ...
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()`...
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数据的实例详解,包括相关理论知识、实现代码和应用场景等。 一、csv文件简介 csv(Comma Separated Values)是一种通用的文本文件格式,用于存储表格数据...
请注意,由于Java的正则表达式规则,这里的竖线(|)被视为分隔符。 C#中,`string.Split()`方法允许使用字符数组作为分隔符,例如`"apple;banana;cherry".Split(';')`会返回`{"apple", "banana", "cherry"}`。同时...
- split():根据匹配模式分割字符串。 - sub():替换字符串中所有匹配的模式。 匹配后的match对象提供了group()、groups()、groupdict()、start()、end()和span()等方法,用于获取匹配结果的详细信息。 代码演示...
1. 使用`test()`、`match()`、`search()`、`replace()`和`split()`等JavaScript字符串方法与正则表达式配合进行文本操作。 2. 使用全局标志`g`进行全局查找,`i`标志忽略大小写,以及`m`标志使^和$匹配行首和行尾。 ...
此外,`URLfilter`还使用了`split("\\|")`来解析`web_xml_url`,这个字符串可能是用竖线分隔的多个危险字符串,比如`"|drop|insert|update|"`,这样就可以一次性检查多个可能的SQL关键字。 然而,这个简单的过滤器...
它在IT行业中被广泛应用,尤其是在编程语言中,如JavaScript、Python、Java等,用于数据验证、文本搜索和数据提取等任务。 正则表达式的核心概念包括: 1. **元字符**:在正则表达式中具有特殊含义的字符,例如`.`...
-c Cut split string 分隔字符串,可以是多个字符组合,默认竖线 -r commit rows 每插入多少行提交一次,-1表示不提交,默认-1,如果设置了ac参数为1,则此参数无效。 注意:如果设置了此参数,每到此行数会执行一次...
22. **Java 字符串操作**:未给出完整代码,但根据题目描述,s 变量包含一个字符串,其中包含 "#aaa#",可能涉及字符串处理的方法如 split() 或 substring()。具体输出需要更多上下文信息。 这些知识点涵盖了计算机...
10. **函数与方法**:在不同编程语言中,如JavaScript、Python、Java,使用正则表达式的方式略有不同,但通常都有`match`、`search`、`replace`、`split`等方法,用于执行查找、替换和拆分字符串的操作。 11. **...