如何检查Java中String是否应该转义



在真正执行任何转义机制之前,我想检查一个特定的String是否应该转义。例如:如果字符串是"msgt"所以我想转义它但是如果字符串是"msg\t"意味着它已经转义了或者例如"msg"意思是根本不需要escape。

是否有一种容易检查的方法?

根据您的描述,这应该可以工作。它使用映射将实际值映射到表示该值的字母。需要加入额外的逻辑来转义反斜杠,因为它们有双重目的,需要分别处理。

Map<String,String> esc = Map.of( "t", "t", "n", "n", "f", "f");
String s = "msgn msg\t msg\n msgn";
for (Entry<String,String> e : esc.entrySet()) {
s = s.replace(e.getKey(), "\"+e.getValue());
}
System.out.println(s);

打印

msgn msgt msgn msgn

最新更新