Heim >Java >JavaErste Schritte >Wie verwende ich die Java-Split-Methode?

Wie verwende ich die Java-Split-Methode?

青灯夜游
青灯夜游Original
2020-11-02 16:09:2619554Durchsuche

Java中split主要用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串;语法格式“String.split(String regex, int limit)”,参数regex指定正则表达式分隔符,limit指定分割的份数。

Wie verwende ich die Java-Split-Methode?

相关推荐:《Java视频教程

split 方法

将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([regex,[limit]])
  • stringObj:必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

  • regex:可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。

  • limit:可选项。该值用来限制返回数组中的元素个数。

说明:

split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。

举例:

public class SplitDemo {

     public static String[] ss = new String[20];

     public SplitDemo() {

         String s = "The rain in Spain falls mainly in the plain.";
         // 在每个空格字符处进行分解。
         ss = s.split(" ");
     }

     public static void main(String[] args) {

         SplitDemo demo = new SplitDemo();
         for (int i = 0; i < ss.length; i++)
             System.out.println(ss[i]);
     }

}

程序结果:

The
rain
in
Spain
falls
mainly
in
the
plain.

public string[] split(string regex)

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

public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}

split 的实现直接调用的 matcher 类的 split 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。

只要将

String[] names = value.split(".");

改为

String[] names = value.split("//.");

就可以了。

在java.lang包中有String.split()方法,返回是一个数组

特殊情况有 * ^ : | . \

一、单个符号作为分隔符 

  • String address="上海\上海市|闵行区\吴中路"; 
String[] splitAddress=address.split("\\"); 
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  • String address="上海|上海市|闵行区|吴中路"; 
String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  • String address="上海*上海市*闵行区*吴中路";
 String[] splitAddress=address.split("\\*");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  •  String address="上海:上海市:闵行区:吴中路";
String[] splitAddress=address.split("\\:");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  •  String address="上海.上海市.闵行区.吴中路";
 String[] splitAddress=address.split("\\.");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  •  String address="上海^上海市^闵行区^吴中路";
String[] splitAddress=address.split("\\^");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  •   String address="上海@上海市@闵行区@吴中路";
String[] splitAddress=address.split("@");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  •  String address="上海,上海市,闵行区,吴中路";
String[] splitAddress=address.split(",");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

 二、多个符号作为分隔符

 String address="上海^上海市@闵行区#吴中路";

String[] splitAddress=address.split("\\^|@|#");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

 例:

 String address = new String("192.168.13.240");
        String[] str = address.split("\\.");
        for(String s : str){
            System.out.println(s);
        }

输出格式:

192
168
13
240

总结:1)split表达式,其实就是一个正则表达式。*  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义。

          (2)如果使用多个分隔符则需要借助 | 符号,如二所示,但需要转义符的仍然要加上分隔符进行处理

更多编程相关知识,请访问:编程教学!!

Das obige ist der detaillierte Inhalt vonWie verwende ich die Java-Split-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn