Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用分隔符拆分内容_Java - Fatal编程技术网

Java 使用分隔符拆分内容

Java 使用分隔符拆分内容,java,Java,我正在拆分基于分隔符|的XML元素。XML元素的格式如下所述 start:23 | stop:43 | name:abc def 我在做下面的事情 StringTokenizer stringTokenizer = new StringTokenizer(oneLine, " | "); // First line is "start" if ( stringTokenizer.hasMoreTokens() ) { String tmp = stringTokenizer.nextTok

我正在拆分基于分隔符
|
的XML元素。XML元素的格式如下所述

start:23 | stop:43 | name:abc def
我在做下面的事情

StringTokenizer stringTokenizer = new StringTokenizer(oneLine, " | ");
// First line is "start"
if ( stringTokenizer.hasMoreTokens() ) {
  String tmp = stringTokenizer.nextToken();
  if ( tmp.startsWith("start:")) {
    tmp = tmp.substring("start:".length());
      //  ----
但问题是我无法获取最后一个子元素
名称:abc def
。 我只能检索
abc
,但不能检索
def

使用
String.split()

这将导致一个长度为3的数组。

使用
String.split()


这将导致一个长度为3的数组。

不要在
(“|”)中放置空格。只要这个
(“|”)就行了。

不要在你的
(“|”)中加空格。只要这个
(“|”)就行了。

一个小的编辑将使你的代码成为一个,这将使每个人受益。一个小的编辑将使你的代码成为一个,这将使每个人受益。确保你也将结果修剪成一行。拆分(\\s*\\\\\\\\s*”谢谢大家。编辑完成。+1的JavaDocs明确建议使用
String.split()
。使用split后,分割成部分[0]的元素是stat,部分[1]是stop,部分[2]是name。如何将每个标记分配给temp,并检查它是否以start:或stop:开头:确保也修剪结果
oneLine.split(\\s*\\\\\\s*”)谢谢大家。编辑完成。+1的JavaDocs明确建议使用
String.split()
。使用split后,拆分为部分[0]的元素为stat,部分[1]为stop,部分[2]为stop是name。如何将每个令牌分配给temp,并检查它是否以start:或stop:开头。delim参数中的:字符是分隔令牌的分隔符。delim参数中的:字符是分隔令牌的分隔符。
String[] parts = split("\\s*\\|\\s*");