繁体   English   中英

如何替换 Java 字符串中单个出现的字符

[英]How to replace single occurrence of a character in a Java string

我有一个字符串,其中包含不同的斜线组合

{"result":"{\"cov_details\":[{\"issue_date\":\"UNIT 
 OFFICE,NEYVELI\",\"cov\":\"MCWG\"}],\"dl_number\":\"TN31Y200000784\",\"address\":\"PERIYA COLONY  KO 
 PAVAZHANGUDI  VIRUDHACHALAM TK\",\"issue_date\":\"24-03-2010\",\"dob\":\"21-03- 
 1981\",\"name\":\"VICNESWARAN S\",\"blood_group\":\"\",\"validity\":{\"transport\":\"\",\"non- 
 transport\":\"4-01-2010 to 23-03-2040\"},\"father\\\/husband\":\"SELVAM\"}","status- 
 code":"101","request_id":"a2642ae9-2f10-4e9a-9f7e-c3ee1a9a2dbe"}

我想单独替换所有出现的单个“”,但在“”后面跟着“/”时忽略(查看
father\\\/husband\参数。 它应该读为father\/husband 如何在 Java 中实现这一点?

只需通过将“\/”替换为另一个字符序列(如“~~~”)来隐藏“\/”,然后在之后恢复它:

    String string = "father\\\\\\/husband\\";
    
    System.out.println("Before\t:\t" + string);
    
    System.out.println
    (
        "After\t:\t" + string
                            .replaceAll("\\\\/", "~~~")
                            .replaceAll("\\\\", "")
                            .replaceAll("~~~", "\\\\/")
    );

Output:

Before  :   father\\\/husband\
After   :   father\/husband

public String replaceAll(String regex, String replacement)接受正则表达式作为第一个参数:

https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html#replaceAll(java.lang.String,Z93F725A07428B33D21F846F.

随意填写以指定您需要的任何模式:

https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/regex/Pattern.html#sum

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM