编程语言
首页 > 编程语言> > Java String字符串分割详解:StringTokenizer、String.split()、String.subString()

Java String字符串分割详解:StringTokenizer、String.split()、String.subString()

作者:互联网

Java String字符串分割详解:StringTokenizer、String.split()、String.subString()

1. StringTokenizer

StringTokenizer用法示例:

        String str = "I am a great student!";

        StringTokenizer st = new StringTokenizer(str);

        while (st.hasMoreElements()){
            System.out.println(st.nextElement());
        }

输出结果:

I
am
a
great
student!

StringTokenizer有四个常用的函数:

  1. hasMoreElements()和hasMoreTokens()。这两个方法用法一样,功能也一样,表示StringTokenizer是否还有元素,当其为False,表示StringTokenzier为空。
  2. nextElement()和nextToken()。这两个方法的用法是一样的,返回此 StringTokenizer 的下一个标记。

StringTokenizer有三个构造函数:

  1. StringTokenizer(String str)。默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。该方法默认以空格回车换行等为分隔符,常用于语句单词切割。
    源码:
    public StringTokenizer(String str) {
        this(str, " \t\n\r\f", false);
    }

示例如1小节所示。

  1. StringTokenizer(String str, String delim)。指定delim为分割符。
    源码:
    public StringTokenizer(String str, String delim) {
        this(str, delim, false);
    }

示例:

        String str = "IaaloveaaChina!";

        StringTokenizer st = new StringTokenizer(str,"aa");

        while (st.hasMoreElements()){
            System.out.println(st.nextElement());
        }

输出:

I
love
Chin
!

注意输出结果!!!

  1. StringTokenizer(String str, String delim, boolean returnDelims)。returnDelims为true的话则delim分割符也被视为标记。
    源码:
    public StringTokenizer(String str, String delim, boolean returnDelims) {
        currentPosition = 0;
        newPosition = -1;
        delimsChanged = false;
        this.str = str;
        maxPosition = str.length();
        delimiters = delim;
        retDelims = returnDelims;
        setMaxDelimCodePoint();
    }

示例:

String str = "IaloveaChina!";

        StringTokenizer st = new StringTokenizer(str,"a",true);

        while (st.hasMoreElements()){
            System.out.println(st.nextElement());
        }

输出:

I
a
love
a
Chin
a
!

2. String.split()

在java.lang包中有String.split()方法,返回是一个数组。
“.”和“|”都是转义字符,必须得加"\";
  如果用“.”作为分隔的话,必须是如下写法:
String.split("\."),这样才能正确的分隔开,不能用String.split(".");
如果用“|”作为分隔的话,必须是如下写法:
String.split("\|"),这样才能正确的分隔开,不能用String.split("|");

2、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用
  String.split(“and|or”);

3、public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。
  此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中
  的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。

4、public string[] split(string regex)
  这里的参数的名称是 regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,

3. String.subString()

标签:Java,String,st,subString,split,str,字符串,StringTokenizer
来源: https://blog.csdn.net/qq_22157917/article/details/100034508