如何在 Java 中查找和更新嵌入字符串的属性

How to find and update properties embedded in a String in Java

我正在尝试查找和更新字符串的值。该字符串是客户端发送的重复规则,我需要获取直到 属性 并为其添加时间。 (Ps setTime/setHour... 被贬低)

我有的是:

import java.util.Calendar;


public class TestReplaceString {

/**
 * @param args
 */
public static void main(final String[] args) {

     String originalRecurrenceRule = "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR;WKST=MO;UNTIL=20160731T223030Z;";
    System.out.println("Unformated: " + originalRecurrenceRule);



    System.out.println("Formated: " + originalRecurrenceRule.replaceAll("UNTIL.*?Z", "UNTIL=" + "sameDateAsPassedByTheCLient" + "T235959Z;"));

}

这个问题是我需要保留客户提供的日期并且只添加时间例如

日期 20170101T220000Z 将变为 20170101T235959Z

我试图完成的是类似于验证器的东西,从字符串中获取 属性 UNTIL 并更改它。 欢迎提出任何建议。

亲切的问候

这样的可能更合适:

String originalRecurrenceRule = "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR;WKST=MO;UNTIL=20160731T223030Z;";
String until = originalRecurrenceRule.substring(originalRecurrenceRule.indexOf("UNTIL"), originalRecurrenceRule.indexOf(";", originalRecurrenceRule.indexOf("UNTIL")));
SimpleDateFormat sdf = new SimpleDateFormat();
Date date = sdf.parse(until.substring(until.indexOf("=") + 1),until.length() - 1);
date.setTime(timeInMilliseconds);
originalRecurrenceRule.replace(until, "UNTIL="+ date.toString() + ";");