比较Java字符串中的多个差异

Jas*_*son 0 java

我有一个字符串模板,看起来像这样:

This position is reserved for <XXXXXXXXXXXXXXXXXXXXXXXXXXX>. Start date is <XXXXXXXX>
Run Code Online (Sandbox Code Playgroud)

填写,这可能看起来像这样(固定宽度保留):

This position is reserved for <JOHN SMITH                 >. Start date is <20150228>
Run Code Online (Sandbox Code Playgroud)

如何在单个字符串中提取多个差异?如果可以避免,我不想将整个模板引擎用于一项任务.

The*_*ind 10

你可以试试像这样的正则表达式:

  public static void main(String[] args) {
    String s = "This position is reserved for <JOHN SMITH                 >. Start date is <20150228>";
    Pattern p = Pattern.compile(".*?<(.*?)>.*<(.*?)>");
    Matcher m = p.matcher(s);
    while(m.find()){
        System.out.println("Name : " +m.group(1).trim());
        System.out.println("Date : " +m.group(2).trim());
    }

}
Run Code Online (Sandbox Code Playgroud)

O/P:

Name : JOHN SMITH
Date : 20150228
Run Code Online (Sandbox Code Playgroud)