从字符串中删除斜体和粗体html标签?

gen*_*eek 3 html java regex

删除粗体和斜体比下面更安全的方法是什么?

        String text = "<b>Remove <i>bold</i> and italics</b>";
        System.out.println(text);
        text = text.replaceAll("\\<.*?\\>", ""); //remove all but only want to remove b and i?
        System.out.println(text);
Run Code Online (Sandbox Code Playgroud)

此外,更具可扩展性(如果我想包括其他标签,如"强"或"em",并允许区分大小写"b"与"B"等,)?

Suj*_* PS 7

你可以使用这个正则表达式:
<\/?[bi]>

DEMO

代码:

    String text = "<b>Remove <i>bold</i> and italics</b>"; 
    text = text.replaceAll("<\\/?[bi]>", "");  
    System.out.println(text);
Run Code Online (Sandbox Code Playgroud)

OUTPUT

Remove bold and italics
Run Code Online (Sandbox Code Playgroud)

如果要匹配不区分大小写,则可以使用相应的标志 (?i)

说明

在此输入图像描述