gpt4 book ai didi

java - 如何从字符串中获取日期和计数元素?

转载 作者:行者123 更新时间:2023-11-29 07:48:54 25 4
gpt4 key购买 nike

我有以下字符串

 String str1 =   "Peter L. Douglas 04/02/1984 X1 X5 YY" ;

我需要得到如下三个独立的字符串

String str1_name = "Peter L. Douglas" ;
String str1_date = "04/02/1984" ;
String str1_nbr = "3" ; // 3 is three elements after date , i.e. X1 X5 YY

我不确定如何以最有效的方式做到这一点,尤其是计算日期之后的元素


其他可能的字符串是

String str1 = "Alexander Evanston 05/02/1986 X5 YY";

最佳答案

要从字符串中获取这三个部分,您可以使用

^([A-Za-z. ]+) ((?:[0-9]{2}/){2}[0-9]{4}) (.*)$

Regular expression visualization

Debuggex Demo

名称是捕获组 1,日期在 2 中,“X”部分在 3 中。此正则表达式假定日期始终有效。如果你真的需要确保一个正确的日期,你可以阅读this answer我写过关于使用正则表达式验证数字范围的文章。

另请注意,虽然您可以使用 \d 代替 [0-9],但 [0-9] 更通用,因为 \d 可以在 .NET 中捕获非美国数字。更多信息 herehere .


要获得“X” block 的数量,只需拆分三组,然后计算生成的数组元素:

int xPieceCount = matcher.group(3).split(" ").length();

关于java - 如何从字符串中获取日期和计数元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888563/

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