gpt4 book ai didi

java - 从 Java 中的字符串中获取子字符串

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:28 25 4
gpt4 key购买 nike

我有以下文字:

...,Niedersachsen,NOT IN CHARGE SINCE: 03.2009, CATEGORY:...,

现在我想提取 NOT IN CHARGE SINCE: 之后的日期直到逗号。所以我只需要 03.2009作为我的子字符串的结果。

那我该如何处理呢?

String substr = "not in charge since:";
String before = s.substring(0, s.indexOf(substr));
String after = s.substring(s.indexOf(substr),s.lastIndexOf(","));

编辑

for (String s : split) {
s = s.toLowerCase();
if (s.contains("ex peps")) {
String substr = "not in charge since:";
String before = s.substring(0, s.indexOf(substr));
String after = s.substring(s.indexOf(substr), s.lastIndexOf(","));

System.out.println(before);
System.out.println(after);
System.out.println("PEP!!!");
} else {
System.out.println("Line ok");
}
}

但这不是我想要的结果。

最佳答案

例如,您可以使用模式:

String str = "Niedersachsen,NOT IN CHARGE SINCE: 03.2009, CATEGORY";
Pattern p = Pattern.compile("\\d{2}\\.\\d{4}");
Matcher m = p.matcher(str);

if (m.find()) {
System.out.println(m.group());
}

输出

03.2009

注意:如果您想在所有字符串中获得相似的日期,您可以使用 while 而不是 if


编辑

或者你可以使用:

String str = "Niedersachsen,NOT IN CHARGE SINCE: 03.03.2009, CATEGORY";
Pattern p = Pattern.compile("SINCE:(.*?)\\,");
Matcher m = p.matcher(str);

if (m.find()) {
System.out.println(m.group(1).trim());
}

关于java - 从 Java 中的字符串中获取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44024521/

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