string.split 方法中的字符串分隔符 [英] String delimiter in string.split method

查看:31
本文介绍了string.split 方法中的字符串分隔符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据:

1||1||Abdul-Jabbar||Karim||1996||1974

我想分隔标记.

这里的分隔符是"||".

我的分隔符设置器是:

public void setDelimiter(String delimiter) {
    char[] c = delimiter.toCharArray();
    this.delimiter = """ + "\" + c[0] + "\" + c[1] + """;
    System.out.println("Delimiter string is: " + this.delimiter);
}

然而,

String[] tokens = line.split(delimiter);

没有给出所需的结果.

推荐答案

无需像以前那样将分隔符分成几部分来设置分隔符.

There is no need to set the delimiter by breaking it up in pieces like you have done.

这是一个可以编译和运行的完整程序:

Here is a complete program you can compile and run:

import java.util.Arrays;
public class SplitExample {
    public static final String PLAYER = "1||1||Abdul-Jabbar||Karim||1996||1974";
    public static void main(String[] args) {
        String[] data = PLAYER.split("\|\|");
        System.out.println(Arrays.toString(data));
    }
}

如果你想对模式使用split,你可以使用Pattern.compilePattern.quote.

If you want to use split with a pattern, you can use Pattern.compile or Pattern.quote.

要查看 compilequote 的实际效果,以下是使用所有三种方法的示例:

To see compile and quote in action, here is an example using all three approaches:

import java.util.Arrays;
import java.util.regex.Pattern;
public class SplitExample {
    public static final String PLAYER = "1||1||Abdul-Jabbar||Karim||1996||1974";
    public static void main(String[] args) {
        String[] data = PLAYER.split("\|\|");
        System.out.println(Arrays.toString(data));

        Pattern pattern = Pattern.compile("\|\|");
        data = pattern.split(PLAYER);
        System.out.println(Arrays.toString(data));

        pattern = Pattern.compile(Pattern.quote("||"));
        data = pattern.split(PLAYER);
        System.out.println(Arrays.toString(data));
    }
}

如果您要经常使用相同的模式进行拆分,建议使用模式.顺便说一句,输出是:

The use of patterns is recommended if you are going to split often using the same pattern. BTW the output is:

[1, 1, Abdul-Jabbar, Karim, 1996, 1974]
[1, 1, Abdul-Jabbar, Karim, 1996, 1974]
[1, 1, Abdul-Jabbar, Karim, 1996, 1974]

这篇关于string.split 方法中的字符串分隔符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆