当前位置: 首页 > 面试题库 >

string.split方法中的字符串定界符

林泰平
2023-03-14
问题内容

我有以下数据:

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);

没有给出所需的结果。


问题答案:

无需像您所做的那样通过将分隔符拆分来设置分隔符。

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

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));
    }
}

如果要对模式使用分割,可以使用Pattern.compilePattern.quote

要查看compilequote付诸实践,下面是使用所有三种方法的示例:

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));
    }
}

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

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


 类似资料:
  • 问题内容: 我想根据所有可能的分隔符(例如逗号,冒号,半冒号,句号,空格,hihenhen等)来解析整个文件。 假设我有一个假设的字符串行“ Hi,X How-how are:any you?” 我应该得到带有项目Hi,X,How,how,are,any和you的输出数组。 如何在String.split方法中指定所有这些定界符? 提前致谢。 问题答案: 接受一个正则表达式,在这种情况下,您希望将

  • 问题内容: 如何在不删除定界符的情况下拆分字符串? 假设我有一个字符串: 当我这样做时 ,我得到的是这样的: 但我想得到这个: 当我尝试执行“ split2”功能时,我都陷入了splice()和索引以及“ this” vs“ that”和… aargh的纠结之中!帮帮我!:D 问题答案: 尝试这个: 将所有“ d”实例替换为“,d” 用“,”分隔 var string = “abcdeabcde”

  • 问题内容: 给定以下字符串: 我在打电话 无论如何,长度是9,而不是应该的13。 不过,如果我以这种方式修改所说的字符串: 长度是13!怎么发生的?似乎Java进行了某种优化,这不是必需的,因为可以在其他上下文中填充字符串的那些部分… 问题答案: 默认情况下,从结果数组中删除结尾的空字符串。要关闭此机制,请使用负数限制,例如 更多细节: 内部返回此方法的结果,您可以在此方法的文档中找到(强调我的)

  • 本文向大家介绍iOS 截取字符串中两个指定字符串中间的字符串方法,包括了iOS 截取字符串中两个指定字符串中间的字符串方法的使用技巧和注意事项,需要的朋友参考一下 例如,要截取一个字符串中,两个指定字符串中间的字符串,OC截取方法如下: 运行结果: 为了使用方便,我们可以给 NSString 分类添加一个截取字符创的方法,直接返回截取后的字符串:代码如下 以上这篇iOS 截取字符串中两个指定字符串

  • 问题内容: 我需要从下面的变量值中删除括号“ [”和“]” ,并将结果存储在中。 使用,还是其他? 问题答案: 有几种可用的方法,有时可以使它们执行完全相同的任务,例如preg_replace / str_replace。但是,也许您只想从字符串的开头或结尾删除方括号;在这种情况下,preg_replace有效。但是,如果可能有多个括号,则preg_replace也可以完成这项工作。但是修剪更容易

  • 本文向大家介绍python删除字符串中指定字符的方法,包括了python删除字符串中指定字符的方法的使用技巧和注意事项,需要的朋友参考一下 最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中的标点符号,查了一下,网上的大多很复杂例如这样 或者是这样的 我一开始用的后面的这个,着实是有点暴力,于是找了查了一下原文档,发现python3中完全有更好的方法去实现这样的功能(似乎是新更