Java使用关键字分割字符串

3
我在拆分以下字符串时遇到了问题。
String str = "eat big mac .at East MacDonald .from onwards";

I want the result to be in

[ eat big mac, .at, East MacDonald, .from, onwards]

我无法按空格或句点分割,有没有其他方法可以实现此操作?


1
如果你想按空格分割,为什么前三个单词没有被分开?但是最后两个单词已经被分开了... - Baz
2
您的问题是什么?要获得这样的结果,具体的标准是什么呢? - Wiseguy
1
以下是关于编程的内容,请仅返回已翻译文本:以点号开头的字符串是关键字,而其他字符串则是用户输入。因此,在示例中,".at"和".from"是关键字,我需要它们分别列出。而"eat big mac"、"East MacDonald"和"onwards"则是普通输入,我也需要它们。 - mikey
2个回答

3
您可以使用特殊令牌(或定界符)将关键词包装起来,然后使用该定界符进行拆分:
String str = "eat big mac .at East MacDonald .from onwards";
String[] arr = str.replaceAll("(\\.\\w+)", "DELIMITER$1DELIMITER").split("DELIMITER");

这将产生输出: [吃大麦克,.at,东麦当劳,.from,以后]

0
你可以随时使用split()方法来处理每个字符串。
String str = "eat big mac .at East MacDonald .from onwards";
String[] spaceDelimitedStr = str.split(" ");
String[] dotDelimitedStr = str.split("\\.");
String[] commaDelimitedStr = str.split(",");

由于split函数的输入是一个正则表达式,因此您可以提供各种分隔符

对于您要查找的结果,要得到您想要的结果将会非常困难,我可以问一下为什么您需要它以这种方式呈现?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接