java学习之字符串的截取
来源:互联网 发布:淘宝客服退换货话术 编辑:程序博客网 时间:2024/05/16 07:37
先说一下我的方法:
1、getChars()方法截取多个字符
2、substring()方法截取子串
3、StringTokenizer() 截取字符串
4、Split()方法截取字符串
下面逐一举例说明:
1、getChars( ) 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[ ],int targetStart)
int sourceStart:子串开始字符的下标
int sourceEnd:子串结束后的下一个字符的下标
char target[ ]:接收所截取的字符串的数组
int targetSyart:开始复制子串的下标值
public class getCharsTest {public static void main(String[] args) {// TODO Auto-generated method stubString str = "I love china,my motherland!";char buffer[] = new char[20];str.getChars(2, 7, buffer, 0);for(char i : buffer){System.out.println(i);}}}
其结果为:
love
2、substring()方法截取字符串
String substring(int beginIndex)
String substring(int beginIndex,int endIndex)
对于单参数的substring()方法,截取将会从指定索引处的字符开始,一直截到字符串结束
对于双参数的substring ()方法,截取将会从自定索引处的字符开始,一直截到指定索引的字符的上一个字符,也就是第endIndex-1个字符,所以截取的字符串的长度为endIndex-1-(beginIndex-1)
下面我们做一个实验:
public class substringTest {public static void main(String[] args) {// TODO Auto-generated method stubString str = "I love china,my motherland!";String tempStr1 = str.substring(2);String tempStr2 = str.substring(2, 12);System.out.println("tempStr1 :"+tempStr1);System.out.println("tempStr2 :"+tempStr2);}}
其输出为:
tempStr1 :love china,my motherland!tempStr2 :love china
上述两种方法只能算得上是对字符串的简单的截取,下面来介绍更高大上的方法!
3、StringTokenizer()方法,此方法可以将一个字符串按照你的要求分解为一个一个的单词或者是标记
【示例 1】
import java.util.StringTokenizer;public class stringTokenizerTest {public static void main(String[] args) {// TODO Auto-generated method stubStringTokenizer stz = new StringTokenizer("I love china,my motherland!", "n");while(stz.hasMoreElements()){ System.out.println("Token:" + stz.nextToken()); } }}
截取结果为:
Token:I love chiToken:a,my motherlaToken:d!
上面见到了StringTokenizer中经常用到的两个方法,hasMoreElements(),用来判断是否还有下一个子串,nextElement()返回StringTokenizer的下一个标记
StringTokenizer有三个构造方法
(1)StringTokenizer(String str) 默认以"\t\n\r\f"为分隔符
示例:
import java.util.StringTokenizer;public class stringTokenizerTest {public static void main(String[] args) {// TODO Auto-generated method stubStringTokenizer stz = new StringTokenizer("I love china,my motherland!");while(stz.hasMoreElements()){ System.out.println("Token:" + stz.nextToken()); } }}
输出:
Token:IToken:loveToken:china,myToken:motherland!
(2)StringTokenizer(String str,String delim),此构造方法指定denim为分隔符,示例请看 【示例 1】
(3)StringTokenizer(String str,String denim,boolean returnDelims) returnDelim决定分隔符是否也未标记,即是否返回分隔符。
示例:
import java.util.StringTokenizer;public class stringTokenizerTest {public static void main(String[] args) {// TODO Auto-generated method stubStringTokenizer stz = new StringTokenizer("I.love.china,my.motherland!",".,",true);while(stz.hasMoreElements()){ System.out.println("Token:" + stz.nextToken()); } }}
输出:
Token:IToken:.Token:loveToken:.Token:chinaToken:,Token:myToken:.Token:motherland!
4、String.Split()方法截取字符串
String.Split()方法有六个重载函数,如下:
public String[] Split(char[ ] separator)
public String[] Split(char[ ] separator,int count)
public String[] Split(char[ ] separator,StringSplitOptions option)
public String[] Split(String[ ] separator,StringSplitOptions option)
public String[] Split(char[ ] separator,int count,StringSplitOptions option)
public String[] Split(String[ ] separator,int count,StringSplitOptions option)
上述方法中 int count参数均表示将字符串分割成count个子串
初始化一个字符串 String str = "a.b.c.d.e.f..g"
str.Split(new char[ ]{"."}) 会返回{"a","b","c","d","e","f","","g"}
str.Split(new char[ ]{"."},2)会返回{"a","b.c.d.e.f..g"}
str.Split(new char[ ]{"."},StringSplitOptions.RemoveEntries)会返回{"a","b","c","d","e","f","g"},不保留空元素;
str.Split(new char[ ]{"."},StringSplitOptions.None)会返回{"a","b","c","d","e","f","","g"},保留空元素
str.Split(new String[ ]{"."},StringSplitOptions.RemoveEntries)会返回{"a","b","c","d","e","f","g"},不保留空元素;
str.Split(new String[ ]{"."},StringSplitOptions.None)会返回{"a","b","c","d","e","f","","g"},保留空元素
str.Split(new String[ ]{"."},2,StringSplitOptions.RemoveEntries)会返回{"a","b.c.d.e.f..g"},不保留空元素;
str.Split(new String[ ]{"."},10,StringSplitOptions.None)会返回{"a","b","c","d","e","f","","g"},保留空元素
请尊重劳动成果,转载或使用请注明出处:
http://blog.csdn.net/qq_21163257/article/details/52148640
- java学习之字符串的截取
- java 字符串的截取
- Java字符串的截取
- Java字符串的截取
- Linux学习之字符串截取
- java截取字符串之subString
- java之字符串截取substring
- 学习了,使用Java截取字符串的方法
- Java中字符串的截取
- java中字符串的截取
- java中的字符串的截取
- java 字符串截取的方法
- 学习笔记之js 字符串截取与数组截取
- 字符串操作之字符串的截取
- Java笔试之按字节截取字符串
- Java正则表达式之截取字符串
- JAVA 中字符串的截取,要求不能截取半个汉字
- oc学习小结(字符串的截取)
- 按层次生成、遍历二叉树
- JavaScript实现封装
- Android 6 camera.open()异常解决方法
- 【项目笔记】布局文件报错Suspicious size: this will make the view invisible, probably intended for layout_width
- Java中使用Runtime和Process类运行外部程序
- java学习之字符串的截取
- 小随笔 SQL语句中的条件判断CASE
- 文章标题 HDU 5583:Kingdom of Black and White(暴力+代码实现能力)
- CentOS 6.5 升级 openssh
- IOS开发-基础篇-Three
- C语言规范及编译器
- Querydsl使用
- 模型勾边outline的实现与改进
- Android Studio中有没有类似于Eclipse中的ctrl+2+L的快捷键? \Android Studio快捷键之代码提示