java的split方法的转义字符

一.实例

我们都知道  String s="ad,dfjdlfs,df,s,dfl";

执行 String re[]=s.split(",");
     则re的数组将是re[0]="ad"  re[1]="dfjdlfs" re[2]="df" re[3]="s" re[4]="dfl"
同理   String s="an|ddd|aed"
     执行  String re[]=s.split("|");
     结果中却  re[0]=""  re[1]="a"  re[2]="n" re[3]="|"  re[4]="d" ........
刚开始不知道怎么回事?

二.后来查了java的转义字符

1.八进制转义序列:\ + 1到3位5数字;范围‘\000‘~‘\377‘      \0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535       \u0000:空字符
3.特殊字符:就3个
      \":双引号
     \‘:单引号
     \\:反斜线
4.控制字符:5个
\‘ 单引号字符 
\\ 反斜杠字符 
\r 回车 
\n 换行 
\f 走纸换页 
\t 横向跳格 
\b 退格 
点的转义:. ==> u002E 
美元符号的转义:$ ==> u0024 
乘方符号的转义:^ ==> u005E 
左大括号的转义:{ ==> u007B 
左方括号的转义:[ ==> u005B 
左圆括号的转义:( ==> u0028 
竖线的转义:| ==> u007C 
右圆括号的转义:) ==> u0029 
星号的转义:* ==> u002A 
加号的转义:+ ==> u002B 
问号的转义:? ==> u003F 
反斜杠的转义: ==> u005C

后来改成:
  String s="an|ddd|aed"    执行  String re[]=s.split(\\u007C);   或者String re[]=s.split("\\|");
结果就是我想要的了   re[0]="an"  re[1]="ddd"  re[2]="aed"

原文地址:https://www.cnblogs.com/yanl55555/p/12541544.html

时间: 2024-10-04 00:50:00

java的split方法的转义字符的相关文章

java String.split方法是用注意点(转)

转自:http://www.blogjava.net/fanyingjie/archive/2010/08/05/328059.html 在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用“|”作为分隔的话,必须是如下写法:Stri

java中split方法的用法

想搞清楚这个问题的原因就是我无法把一个文本里的单词全部给找出来,因为接触C++的时候记得好像regex可以有好多个字符组成,这样就可以通过,.!和空格等标点来分割文本了,但是split的方法所接受的参数只有String类型的regex和int类型的limit,limit用来表示最多可以将字符串分成多少部分.后来通过在网上查找资料才知道原来String类型的regex可以由多部分组成,每个部分分别由 | 隔开,对于可能要出现的* + .等符号,可能需要 \\ 的转义,具体注意事项有以下几个部分:

Java 字符串Split方法的一个坑

java字符串的split,只传一个参数,后面空白的字符串会被忽略: public static void main(String[] args) { String str = "ab|c||"; String [] split = str.split("\\|"); System.out.println(Arrays.toString(split)); } 输出结果是[ab, c]. 解决方法是split第二个参数传一个负数,例如 public static vo

Java 利用 split 方法切割字符串

之前经常遇到切割字符串的情况,这里把常见的场景总结一下: 1 // 以空格切割 2 String s1 = "dew qefdewrfr freqg gtrh yt hy"; 3 String[] words1 = s1.split("\\s+"); 4 5 // 以 . 切割 6 String s2 = "dew.qefdewrfr.freqg.gtrh.yt.hy"; 7 String[] words2 = s2.split("\\

模拟java的split函数,分割字符串,类似于java的split方法

/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合*/create or replace type splitType as table of varchar2(4000); /* 参数1: 被分割的字符串 参数2:分割字符串,默认是英文逗号*/create or replace function split_str(str varchar2, split_char varchar2:=',') return splitType pipelinedis idx nu

我爱java系列---【String.Split方法】

hello 大家好,好久不见,今天 我们要讨论的是java的split方法,或许你很早就知道了,但你真的知道吗? 我们来看看吧. 首先我们来看看我们最常用的split()方法也就是单个参数的方法 public String[] split(String regex) { return split(regex, 0); } 卧槽,这不是重载方法嘛,调用的是另外一个方法,而且还给了个默认值0,然后我们来看看重载的哪个方法 public String[] split(String regex, int

Java split方法源码分析

Java split方法源码分析 1 public String[] split(CharSequence input [, int limit]) { 2 int index = 0; // 指针 3 boolean matchLimited = limit > 0; // 是否限制匹配个数 4 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 5 Matcher m = matcher(inp

java中String对象的split方法

在java.lang包中有String.split()方法,返回是一个String[]数组,今天碰到一个自己没注意的问题: 1.特殊分隔符 String str1 = "123|456|789"; System.out.println(str1.split("|")[0]); 结果是1 这里要注意的是"|"作为分隔符要写成这样 System.out.println(str1.split("\\|")[0]); 同理如果用&qu

分享一个 Java String split 快速分割的方法

java中string.split() 方法比较强大,但是split()方法采用正则表达式,速度相对会慢一点, 其实大多数场景下并不需要使用正则表达式,下面分享一个不使用正则表达式分隔字符串的方法. 方法保证了和 string.split()的输出结果一致. 直接看代码: public static String[] split(String src,String delimeter){ String srcStr = src; String delimeterStr = delimeter;