我有一个字符串:
.sec--head
我试图用其他字符串替换Patient:
${ss.patient.howard.firstName} ${ss.patient.howard.lastName}
Gender: ${ss.patient.howard.sex}
Birthdate: ${ss.patient.howard.dob}
${ss.patient.howard.addressLine1}
Phone: (801)546-4765
子字符串,所以它看起来像:
${..}
答案 0 :(得分:2)
您可以将此正则表达式与捕获组一起使用:
String myString = "Patient:\n${ss.patient.howard.firstName} ${ss.patient.howard.lastName}\nGender: ${ss.patient.howard.sex}\nBirthdate: ${ss.patient.howard.dob}\n${ss.patient.howard.addressLine1}\nPhone: (801)546-4765";
myString = myString.replaceAll("\\$\\{[^}]+?\\.([^.}]+)}", "$1");
System.err.println(myString);
([^.}]+)
是}
之前和最后一个DOT之后的捕获组。
<强>输出:强>
Patient:
firstName lastName
Gender: sex
Birthdate: dob
addressLine1
Phone: (801)546-4765
答案 1 :(得分:0)
您可以尝试搜索${string.string.string
或}
并替换为empty
字符串或nothing
。
正则表达式: \${[a-z]+\.[a-z]+\.[a-z]+\.|}
替换为:替换为空或无字符串。
<强> Regex101 Demo 强>