有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取“:”之间的子字符串

假设我有一个像这样的字符串:

"(...) Example: Hello world. Description: Here is a long text, with words and ponctuation. This is the part I need. This part I do not need: End of the example. (...)"

如何仅获取此子字符串:

Here is a long text, with words and ponctuation. This is the part I need.

我写的地方(…)是字符串的延续,我处理的是一个长文本,但在本例中只想得到描述

我想要“Description:”和下一个单词之前的单词之间的所有内容(单词、点、逗号等):

确切的例子是:

职位名称:Java程序员日期:2014年4月18日数量:4个空缺职位描述:在软件工厂下实施系统,与Agile、Spring、Hibernate和GWT合作。计算机科学的高等教育。TDD课程。了解敏捷方法、描述的活动、TDD和BDD。有良好的沟通能力。注:福利:医疗保健/医疗团体、票务喂养、交通券计划租用:CLT(永久)工作时间:周一至周五上午8点至下午3点30分,下午1点30分午餐

我需要:

在软件工厂下实施系统,与Agile、Spring、Hibernate和GWT合作。计算机科学的高等教育。TDD课程。了解敏捷方法、描述的活动、TDD和BDD。有良好的沟通能力

在本例中,“Description:”之后和“Note:”之前的子字符串,但第二个单词(Note:)可以是任何单词。这就是为什么我觉得我需要一个正则表达式,但不知道它是什么


共 (3) 个答案

  1. # 1 楼答案

    如果您使用的是(<;=)jdk1。6,正如您所说,文本可能,我不会使用^{,以避免潜在的内存问题

    regex可以直接在两个:之间获取内容:

    与组::([^:]*):

    无组:(?<=:)[^:]*

  2. # 2 楼答案

    String original = "This is a string: Here is what you want: Maybe you want this too?";
    int firstColon = original.indexOf(':');
    int secondColon = original.indexOf(':', firstColon+1);
    if (secondColon != -1) {
        String parsed = original.substring(firstColon+1, secondColon);
    } else {
        //2 colons not found
    }
    

    上面的代码查找:字符的第一个索引并存储它。然后,它将查找原始文件之后的下一个:。如果找到第二个冒号(if语句),则解析并存储该字符串String.substring包含第一个索引,不包含最后一个索引。要修剪任何前导或尾随空格,请在已解析行的末尾添加.trim()。要仅扫描第一个冒号,请使用以下命令。(这会修剪绳子)

    String original = "This is a string: Here is what you want: Maybe you want this too?";
    int firstColon = original.indexOf(':');
    if (firstColon != -1) {
        String parsed = original.substring(firstColon+1).trim();
    } else {
        //One colon not found
    }
    

    需要注意的是,java中的字符串是不可变的。起初的子字符串不会更改原始字符串,只返回子字符串字符的新字符串

  3. # 3 楼答案

    可以使用split方法,如下所示:

    String[] sentences = "This is a : test".split("[:]");
    

    传递给split方法的参数是一个正则表达式,它返回一个字符串数组,每个除法都包含该数组

    例如,上面显示的方法将返回以下输出:

    sentences[0] will be This is a"
    sentences[1] will " test"