java - 根据位置将字符串解析为标记

标签 java

我有这个字符串

“姓名,演出于 14/08/09 开始,您的门票已于 14/08/09 预订”

在此字符串中,我想获取 StartDate、bookedDate 和 nameofthePerson 值作为单独的标记。这应该适用于相同格式的所有字符串

我如何在java中解析它们?

最佳答案

因此,如果格式相同,您可以使用正则表达式并将值收集到组中。

类似这样的事情:

String input = "Name, Show starts on 14/08/09, your ticket is booked on 14/08/09";
String regex = "([a-zA-Z \t]*),.*(\\d\\d/\\d\\d/\\d\\d),.*(\\d\\d/\\d\\d/\\d\\d)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher( input );
if( matcher.matches() && matcher.groupCount() == 4) //group 0 is always the entire expression
{
  String name = matcher.group(1);
  String startDate = matcher.group(2);
  String bookedDate = matcher.group(3);
}

关于java - 根据位置将字符串解析为标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172557/

相关文章:

java - 在同一个项目中组织时如何单独打包python模块?

在 Controller 之间传递值时出现 JavaFX LoadException

java - 不常用的 Java 语法 (JavaParser)?

java - 拆分字符串 - 笛卡尔方式

java - 我们如何为树查看器动态生成子菜单上下文

java - 根据Java/Grails中的元素从 map 中提取/过滤数据

java - 将对象的 transient 成员反序列化为 Java 中的非空默认值

java - 具有长参数的 JOGL glReadPixel

java - 将类参数从 Java 转换为 Scala

java - 我如何从另一个类获取字符串?