簡體   English   中英

使用正則表達式java替換字符組合

[英]Replace a combination of characters using regex java

我有幾個字符串數據集,我想在其中使用 java 中的正則表達式替換來替換某些字符組合。 我嘗試了多種模式,但都沒有幫助。 有人能指出我正確的模式嗎?

例如:

你好,[cicuyuv v,]imijmijm

在這個字符串中,我想用單個","替換",["",]"

public class MainApp {

    public static void main(String[] args) {
        String data = "hello,[cicuyuv v,]imijmijm"
            .replaceAll("[,[\\[]]", ",");

        System.out.println(data);

    }

}

你的"[,[\\\\[]]"代表一個[,[\\[]]模式,它匹配一個單一的字符,要么是 a ,要么是[ (另一個字符類中的[\\[]字符類形成了一個字符類聯合)。

您可以使用

String data = "hello,[cicuyuv v,]imijmijm".replaceAll(",[\\[\\]]", ",");
System.out.println(data); // -> hello,cicuyuv v,imijmijm

查看Java 演示

在此, ,[\\[\\]]是一個正則表達式模式匹配,並且然后一個[] 請非常小心在 Java 正則表達式中的字符類中使用][ :它們都必須被轉義(在其他風格中,當您在 regex101.com 或其他類似站點上進行測試時, [內部[...]沒有被轉義。建議使用 Java regex 測試站點,如RegexPlanetJava Regular Expression Tester (無從屬關系)。

System.out.println("hello,[cicuyuv v,]imijmijm".replaceAll(",(\\]|\\[)" , ","));


, matches the character , literally (case sensitive)

Capturing Group (\\]|\\[)

1st Alternative \]
\] matches the character ] literally (case sensitive)

2nd Alternative \[
\[ matches the character [ literally (case sensitive)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM