java去掉字符中的<p>和</p>
时间: 2023-09-01 13:10:34 浏览: 37
可以使用String类的replaceAll方法,使用正则表达式匹配<p>和</p>,并用空字符串替换。示例代码如下:
```
String str = "<p>hello world</p>";
String result = str.replaceAll("<p>|</p>", "");
System.out.println(result); // 输出:hello world
```
其中,正则表达式`<p>|</p>`表示匹配<p>或</p>。使用`|`表示或的关系。替换成空字符串即可去掉这两个标签。
相关问题
java如何让没有内容的<p></p>标签隐藏或者去掉
在Java中,我们可以通过正则表达式替换的方式来实现将没有内容的<p></p>标签隐藏或者去掉。具体做法如下:
```java
String html = "<p></p><p>有内容的<p>标签</p></p><p>又一个没有内容的</p>";
String newHtml = html.replaceAll("<p>\\s*</p>", "");
```
这里我们使用了replaceAll方法,将所有形如<p></p>的标签替换为空字符串,即从HTML中将没有内容的<p></p>标签删除掉。
需要注意的是,这种方式只能去掉没有内容的<p>标签,如果<p>标签中有空格或其他空白字符,这种方式是无法去掉的。如果需要去掉<p>标签中的所有空白字符,可以使用如下正则表达式:
```java
String newHtml = html.replaceAll("<p>\\s*<\\/p>", "");
```
这里的正则表达式中,\\s*表示匹配任意数量的空白字符,<\\/p>表示匹配</p>标签。
java去掉富文本格式传入后端字符串中的<p> 及</p>标签,而不影响img标签
您可以使用正则表达式来去掉 `<p>` 和 `</p>` 标签,并保留 `<img>` 标签。以下是一个示例代码:
```java
String input = "这是一段包含<p>富文本格式</p>和<img src=\"example.jpg\">的字符串";
String output = input.replaceAll("(?i)<p[^>]*>(.*?)</p>", "$1")
.replaceAll("(?i)<(?!img)[^>]*>", "")
.replaceAll("(?i)</(?!img)[^>]*>", "");
System.out.println(output);
```
这段代码中,第一行定义了输入字符串 `input`,其中包含了 `<p>` 和 `</p>` 标签以及一个 `<img>` 标签。第二行使用 `replaceAll()` 方法将所有 `<p>` 和 `</p>` 标签去掉,保留标签内的内容。第三行使用 `replaceAll()` 方法将除了 `<img>` 标签以外的所有标签去掉。第四行使用 `replaceAll()` 方法将除了 `<img>` 标签以外的所有结束标签去掉。最终输出的字符串 `output` 是去掉了 `<p>` 和 `</p>` 标签,但保留了 `<img>` 标签的字符串。