为什么string.split不能以下列格式读取我的文件?

时间:2014-01-12 21:35:25

标签: java

在文本文件中,我有以下内容:

${"a":"b"
}
${"a":"b"
}
${"a":"b"
}
${"a":"b"
}

为什么我无法使用以下内容将字符串拆分为令牌数组?

String [] tokens = readFile().split("$");

这里readFile()返回从文本文件中读取的整个字符串,该文件工作正常。我希望令牌数组将单个{“a”:“b”}作为数组的四个元素返回。

2 个答案:

答案 0 :(得分:5)

split将正则表达式作为其参数。 $是用于匹配输入String结尾的元字符。它需要被转义

String [] tokens = readFile().split("\\$");

否则分割将出现在输入的最后一个字符上。

阅读Special Characters section

答案 1 :(得分:0)

Split接受正则表达式,而不是普通的字符串。 $是一个正则表达式。