在分隔符是单词的Java中拆分字符串
Posted
技术标签:
【中文标题】在分隔符是单词的Java中拆分字符串【英文标题】:Splitting a string in java where the delimiter is a word 【发布时间】:2013-06-28 07:45:40 【问题描述】:我有一个字符串(一本书的作者姓名列表),格式如下:
author_name1
、author_name2
、author_name3
和 author_name4
如何解析字符串,以便将作者姓名列表作为String
的数组获取。 (在这种情况下,分隔符是,
和单词and
。我不确定如何根据这些分隔符拆分字符串(因为这里的分隔符是单词而不是单个字符)。
【问题讨论】:
***.com/questions/5993779/… 【参考方案1】:你可以使用myString.split(",|and")
它会做你想做的事:)
【讨论】:
【参考方案2】:你应该使用正则表达式:
"someString".split("(,|and)")
【讨论】:
我认为你不需要括号,是吗? @C4stor,呵呵,其实这里没关系。我习惯使用括号。 括号不会改变代码的作用,但为了可读性,通常首选更简单的代码(即使在这种情况下只有细微的差别)。【参考方案3】:试试:
yourString.split("\\s*(,|and)\\s*")
\\s*
表示零个或多个空格字符(因此周围的空格不包含在您的拆分中)。
(,|and)
表示,
或and
。
Test(Arrays.toString
以 [element1, element2, ..., elementN]
的形式打印数组。
Java regex reference.
【讨论】:
【参考方案4】:我认为您需要包含正则表达式 OR 运算符:
String[]tokens = someString.split(",|and");
【讨论】:
以上是关于在分隔符是单词的Java中拆分字符串的主要内容,如果未能解决你的问题,请参考以下文章