字符串的分割
来源:互联网 发布:齐鲁软件大赛 编辑:程序博客网 时间:2024/05/19 06:47
1. split
split可以把串分解为片语(token)。此动作,俗称“打散”。
需要注意的是,其中的参数并不是“分隔串”,而是一个“正则表达式”。
String s = "xyz,abc,123";
String[] ss = s.split(",");
这种用法是正确的。因为,逗号并不是正则表达式的关键字。如果想把“12+25”分解为“12”和“25”,就不能像下面这样写了:
String s = "12+25";
String[] ss = s.split("+");
这是因为“加号”在正则表达式中有特殊的含义。如果希望作为分隔符的就是“+”,则可以采用转义的办法来表达。
String[] ss = s.split("[+]");
或者
String[] ss = s.split("\\+");
其中,有些奇怪的是第二种写法。之所以写两个反斜线,是因为,反斜线也是java串中的转义符号,所以此处是经过了两次转义。第一次是java转义,第二次是正则表达式的转义。
2. java.util.StringTokenizer
有的时候,使用StringTokenizer更容易对串进行分解工作。这是类可根据我们提供的分隔符号把一个串,分解为多个token,分解的时候,也可以包含分隔符本身,也可以不包含。
String s = "23+45-(3+5*2)";
StringTokenizer st = new StringTokenizer(s,"+-*/()",true);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
另外,countTokens()可以返回tokens的数目。
split可以把串分解为片语(token)。此动作,俗称“打散”。
需要注意的是,其中的参数并不是“分隔串”,而是一个“正则表达式”。
String s = "xyz,abc,123";
String[] ss = s.split(",");
这种用法是正确的。因为,逗号并不是正则表达式的关键字。如果想把“12+25”分解为“12”和“25”,就不能像下面这样写了:
String s = "12+25";
String[] ss = s.split("+");
这是因为“加号”在正则表达式中有特殊的含义。如果希望作为分隔符的就是“+”,则可以采用转义的办法来表达。
String[] ss = s.split("[+]");
或者
String[] ss = s.split("\\+");
其中,有些奇怪的是第二种写法。之所以写两个反斜线,是因为,反斜线也是java串中的转义符号,所以此处是经过了两次转义。第一次是java转义,第二次是正则表达式的转义。
2. java.util.StringTokenizer
有的时候,使用StringTokenizer更容易对串进行分解工作。这是类可根据我们提供的分隔符号把一个串,分解为多个token,分解的时候,也可以包含分隔符本身,也可以不包含。
String s = "23+45-(3+5*2)";
StringTokenizer st = new StringTokenizer(s,"+-*/()",true);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
另外,countTokens()可以返回tokens的数目。
- 分割字符串的sql
- 字符串的分割方法
- 分割字符串的方法
- 字符串的分割
- Java_字符串的分割
- 分割字符串的程序
- 巧妙的字符串分割
- 字符串的分割
- 字符串的分割
- 字符串的分割
- 字符串分割的问题
- 字符串的分割
- 字符串的处理:分割
- 简单的字符串分割
- ios 字符串的分割
- 字符串的分割
- js字符串的分割
- 字符串的分割
- 进程通信
- IOS PK android
- 线程池——尚在研究
- POJ 2291水题
- Java-ActionEvent事件
- 字符串的分割
- 面试概率问题
- memcached安装
- javascript实现省市级联效果
- bt5升级时Setting up w3af (1.2-bt1) ...出现问题的解决方法
- mongoDB——副本集
- java自定义注解
- c++设计模式--建造者模式
- leetcode_question_64 Minimum Path Sum