如何拆分()关于多个分隔符的字符串? [复制]
Posted
技术标签:
【中文标题】如何拆分()关于多个分隔符的字符串? [复制]【英文标题】:How to split() a string with respect to multiple delimiters? [duplicate] 【发布时间】:2019-12-24 12:25:03 【问题描述】:尝试从 Egypt Today Last Update Time: 18-Aug-2019 14:00 (GMT) 中提取文本 18-Aug-2019 14:00 和我的步骤是在“:”作为第一步进行拆分,然后进行拆分“(”部分(基本上是 2 个拆分),并且 2 个拆分不起作用......我们可以只从一个步骤开始吗?谢谢
代码试验:
lastupdated1=lastupdated.split("Last Update Time: ")[1]
lastupdated2=lastupdated1.split(" (GMT")[0]
错误是:
2019-08-19 14:54:53.692 ERROR c.k.katalon.core.main.TestCaseExecutor - ❌ Test Cases/REGIONAL MARKET NEWS/Verify_whether_news_getting_updated FAILED.
Reason:
java.util.regex.PatternSyntaxException: Unclosed group near index 5
(GMT
at java_lang_String$split$0.call(Unknown Source)
at Verify_whether_news_getting_updated.run(Verify_whether_news_getting_updated:41)
【问题讨论】:
错误信息很清楚。在您的正则表达式(GMT
中有一个未封闭的组。即您已经开始了一些括号但没有完成它们。我想你想匹配一个文字左括号,所以你需要转义它。在java中,需要对转义进行转义,所以请改用\\(GMT
。
***.com/users/1898563/michael 非常感谢,现在工作正常。
没问题
关键是.split
需要一个正则表达式。
【参考方案1】:
您可以使用 Egypt Today Last Update Time: 18-Aug-2019 14:00 (GMT) 轻松提取 18-Aug-2019 14:00 文本split()
只通过一次regex,您可以使用以下解决方案:
代码块:
String myNewString = "Egypt Today Last Update Time: 18-Aug-2019 14:00 (GMT)";
String[] tokens = myNewString.split(": |\\(");
System.out.println(tokens[1]);
控制台输出:
18-Aug-2019 14:00
【讨论】:
以上是关于如何拆分()关于多个分隔符的字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章