当前的任务是将生日格式中的“-”替换为“/”,例如03-12-89 -> 03/12/89
。但是,“-”必须能够出现在字符串的其他位置,例如“我的生日是:03/12/89”。
我尝试创建子字符串,替换生日部分中的“-”,然后再次组合字符串。但是,该解决方案不灵活并且无法通过测试用例。
我想我必须能够使用正则表达式来做到这一点,尽管我似乎无法构造它。所以现在我回到: String newStr = input.replace("-", "/");
这会删除我不想要的所有“-”实例。
有人可以帮忙吗?
最佳答案
您可以使用以下正则表达式:
(?<=\d{2})-
替换\/
(无需在Java中转义)
输入:
My-birthday-is-on-the: 03-12-89
输出:
My-birthday-is-on-the: 03/12/89
代码:
String input = "My-birthday-is-on-the: 03-12-89";
System.out.println(input.replaceAll("(?<=\\d{2})-", "/"));
输出:
My-birthday-is-on-the: 03/12/89
关于java - 替换特定模式中的字符或特定字符之后的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50850422/