gpt4 book ai didi

Java解析带有大量空格的字符串

转载 作者:行者123 更新时间:2023-12-01 17:32:55 24 4
gpt4 key购买 nike

我有一个包含多个空格的字符串,但是当我使用分词器时,它会在所有这些空格处将其分开。我需要 token 来包含这些空格。如何利用 StringTokenizer 返回带有我要拆分的标记的值?

最佳答案

您会在 StringTokenizer 的文档中注意到,建议不要将其用于任何新代码,并且 String.split(regex)就是你想要的

String foo = "this is      some  data      in   a string";
String[] bar = foo.split("\\s+");

编辑添加: 或者,如果您的需求比简单的拆分更大,则可以使用 PatternMatcher 类来实现更复杂的效果正则表达式匹配和提取。

再次编辑:如果您想保留空间,实际上了解一些正则表达式确实有帮助:

String[] bar = foo.split("\\b+");

这将在单词边界上分割,将每个单词之间的空间保留为字符串

public static void main( String[] args )
{
String foo = "this is some data in a string";
String[] bar = foo.split("\\b");
for (String s : bar)
{
System.out.print(s);
if (s.matches("^\\s+$"))
{
System.out.println("\t<< " + s.length() + " spaces");
}
else
{
System.out.println();
}
}
}

输出:

this
<< 1 spaces
is
<< 6 spaces
some
<< 2 spaces
data
<< 6 spaces
in
<< 3 spaces
a
<< 1 spaces
string

关于Java解析带有大量空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com