如何在Java中字符串的某些部分中使用正则表达式?

学习java

我想在Java字符串的某些部分使用正则表达式,

在下面的字符串中,仅emp-id-<dynamic empID>并且project对于所有字符串保持相同。

Case1:  project/emp-id1545/ID-JHKDKHENNDHJSJ

Case 2: project/**dep**/emp-id8545/ID-GHFRDEEDE

[我已情景某个字符串来与deptemp或不喜欢的值Case 1之后project

如何仅从emp-id-<dynamic empID>上述字符串中进行过滤,以处理案例1和案例2?

Shar1er80

您可以通过多种方式完成此任务

正则表达式

图案

"emp-id\\d+"

两种情况下都能实现您想要的功能。该模式匹配“ emp-id”加上1个或多个数字(\\d+)。

public static void main(String[] args) throws Exception {
    String case1 = "project/emp-id1545/ID-JHKDKHENNDHJSJ";
    String case2 = "project/**dep**/emp-id8545/ID-GHFRDEEDE";

    Matcher matcher = Pattern.compile("emp-id\\d+").matcher(case1);
    // Changed from while to if cause we're only going to get the first match
    if (matcher.find()) {
        System.out.println(matcher.group());
    }

    matcher = Pattern.compile("emp-id\\d+").matcher(case2);
    // Changed from while to if cause we're only going to get the first match
    if (matcher.find()) {
        System.out.println(matcher.group());
    }
}

结果:

emp-id1545
emp-id8545

Java 8

假设您的数据表明字符“ /”是定界符。您还可以使用String.split()Stream.filter()(Java 8)查找您的String。

public static void main(String[] args) throws Exception {
    String case1 = "project/emp-id1545/ID-JHKDKHENNDHJSJ";
    String case2 = "project/**dep**/emp-id8545/ID-GHFRDEEDE";

    System.out.println(Arrays.stream(case1.split("/")).filter(s -> s.startsWith("emp-id")).findFirst().get());
    System.out.println(Arrays.stream(case2.split("/")).filter(s -> s.startsWith("emp-id")).findFirst().get());
}

结果:

emp-id1545
emp-id8545

非正则表达式或Java 8

仍然使用“/”分隔符和“EMP-ID”你可以使用String.indexOf()String.substring()提取你要找的字符串。

public static void main(String[] args) throws Exception {
    String case1 = "project/emp-id1545/ID-JHKDKHENNDHJSJ";
    String case2 = "project/**dep**/emp-id8545/ID-GHFRDEEDE";

    int index = case1.indexOf("emp-id");
    System.out.println(case1.substring(index, case1.indexOf("/", index)));

    index = case2.indexOf("emp-id");
    System.out.println(case2.substring(index, case2.indexOf("/", index)));
}

结果:

emp-id1545
emp-id8545

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中使用正则表达式允许空字符串?

来自分类Dev

如何在Java中使用正则表达式拆分字符串

来自分类Dev

如何在java中使用正则表达式从字符串中提取数字

来自分类Dev

如何在pyspark中使用正则表达式从字符串中删除星号*

来自分类Dev

python中的正则表达式:如何在模式中使用可变字符串?

来自分类Dev

如何在包含某些字符的字符串中匹配正则表达式?

来自分类Dev

如何在Java中使用正则表达式或子字符串从字符串中提取文本?

来自分类Dev

如何在 Java 中使用正则表达式从字符串中提取子字符串?

来自分类Dev

如何在python中使用正则表达式从字符串中检索子字符串

来自分类Dev

如何在php中使用正则表达式从字符串中查找子字符串?

来自分类Dev

如何在 Dart 中使用正则表达式查找字符串中的子字符串

来自分类Dev

如何在 Java 中的数组字符串的索引上使用正则表达式

来自分类Dev

如何在MATLAB中使用正则表达式删除路径(字符串)的结尾部分?

来自分类Dev

如何在bash中使用正则表达式查找字符串的特定部分

来自分类Dev

如何在MATLAB中使用正则表达式删除路径(字符串)的结尾部分?

来自分类Dev

如何使用Java正则表达式强制某些字符串以换行开头?

来自分类Dev

如何在python中使用正则表达式排除特定的字符串?

来自分类Dev

如何在Perl中使用正则表达式grep字符串?

来自分类Dev

如何在javascript中使用正则表达式来单独搜索字符串?

来自分类Dev

如何在javascript中使用正则表达式选择特定的字符串值?

来自分类Dev

如何在VScode中使用正则表达式的字符串前插入$?

来自分类Dev

如何在Ajv中使用正则表达式验证字符串?

来自分类Dev

如何在文档中使用正则表达式对字符串进行完全匹配

来自分类Dev

如何在python中使用正则表达式替换字符串的多个单词?

来自分类Dev

如何在emacs中使用正则表达式匹配此字符串?

来自分类Dev

如何在php中使用正则表达式字符串

来自分类Dev

如何在grep中使用正则表达式查找字符串

来自分类Dev

如何在javascript中使用正则表达式来单独搜索字符串?

来自分类Dev

如何在python中使用正则表达式以“,”分隔字符串

Related 相关文章

  1. 1

    如何在Java中使用正则表达式允许空字符串?

  2. 2

    如何在Java中使用正则表达式拆分字符串

  3. 3

    如何在java中使用正则表达式从字符串中提取数字

  4. 4

    如何在pyspark中使用正则表达式从字符串中删除星号*

  5. 5

    python中的正则表达式:如何在模式中使用可变字符串?

  6. 6

    如何在包含某些字符的字符串中匹配正则表达式?

  7. 7

    如何在Java中使用正则表达式或子字符串从字符串中提取文本?

  8. 8

    如何在 Java 中使用正则表达式从字符串中提取子字符串?

  9. 9

    如何在python中使用正则表达式从字符串中检索子字符串

  10. 10

    如何在php中使用正则表达式从字符串中查找子字符串?

  11. 11

    如何在 Dart 中使用正则表达式查找字符串中的子字符串

  12. 12

    如何在 Java 中的数组字符串的索引上使用正则表达式

  13. 13

    如何在MATLAB中使用正则表达式删除路径(字符串)的结尾部分?

  14. 14

    如何在bash中使用正则表达式查找字符串的特定部分

  15. 15

    如何在MATLAB中使用正则表达式删除路径(字符串)的结尾部分?

  16. 16

    如何使用Java正则表达式强制某些字符串以换行开头?

  17. 17

    如何在python中使用正则表达式排除特定的字符串?

  18. 18

    如何在Perl中使用正则表达式grep字符串?

  19. 19

    如何在javascript中使用正则表达式来单独搜索字符串?

  20. 20

    如何在javascript中使用正则表达式选择特定的字符串值?

  21. 21

    如何在VScode中使用正则表达式的字符串前插入$?

  22. 22

    如何在Ajv中使用正则表达式验证字符串?

  23. 23

    如何在文档中使用正则表达式对字符串进行完全匹配

  24. 24

    如何在python中使用正则表达式替换字符串的多个单词?

  25. 25

    如何在emacs中使用正则表达式匹配此字符串?

  26. 26

    如何在php中使用正则表达式字符串

  27. 27

    如何在grep中使用正则表达式查找字符串

  28. 28

    如何在javascript中使用正则表达式来单独搜索字符串?

  29. 29

    如何在python中使用正则表达式以“,”分隔字符串

热门标签

归档