如何提取 Java 中的特定子字符串
How to extract a specific substring in Java
我有一个字符串,我定义为
String string = "<html><color=black><b><center>Line1</center><center>Line2</center></b></font></html>";
我将其应用于 JButton 以获得 2 行文本,并且效果很好。当我调用 JButton.getText() 方法时,它 returns 整个字符串。我想要的是获取字符串 returns,并从中获取字符串 "Line1Line2"。 (所以我想删除所有 HTML 代码,只获取屏幕上显示的文本。)我尝试使用类似
的东西
if(string.contains("<html>"))
{
string.replace("<html>", "");
}
然后对所有其他“<(stuff)>”执行相同的操作,但如果我随后打印该字符串,我仍然会得到全部内容。我认为使用正则表达式是比手动删除所有“<(stuff)>”更好的方法,但我不知道如何。
如有任何帮助,我们将不胜感激!
string.replace()
不修改字符串:字符串是不可变的。它 returns 一个已完成替换的新字符串。
所以你的代码应该是
if (string.contains("<html>")) {
string = string.replace("<html>", "");
}
String
是不可变的,因此 String#replace
不会更改 String
而是 returns 已更改的 String
.
string = string.replace("<html>", "");
等等应该做的事情。
String
也有一个 replaceAll()
方法。
你可以试试string.replaceAll("<.*?>", "");
还要记住 java 中的字符串是不可变的,此操作将 return 一个包含您的结果的新字符串
我有一个字符串,我定义为
String string = "<html><color=black><b><center>Line1</center><center>Line2</center></b></font></html>";
我将其应用于 JButton 以获得 2 行文本,并且效果很好。当我调用 JButton.getText() 方法时,它 returns 整个字符串。我想要的是获取字符串 returns,并从中获取字符串 "Line1Line2"。 (所以我想删除所有 HTML 代码,只获取屏幕上显示的文本。)我尝试使用类似
的东西if(string.contains("<html>"))
{
string.replace("<html>", "");
}
然后对所有其他“<(stuff)>”执行相同的操作,但如果我随后打印该字符串,我仍然会得到全部内容。我认为使用正则表达式是比手动删除所有“<(stuff)>”更好的方法,但我不知道如何。
如有任何帮助,我们将不胜感激!
string.replace()
不修改字符串:字符串是不可变的。它 returns 一个已完成替换的新字符串。
所以你的代码应该是
if (string.contains("<html>")) {
string = string.replace("<html>", "");
}
String
是不可变的,因此 String#replace
不会更改 String
而是 returns 已更改的 String
.
string = string.replace("<html>", "");
等等应该做的事情。
String
也有一个 replaceAll()
方法。
你可以试试string.replaceAll("<.*?>", "");
还要记住 java 中的字符串是不可变的,此操作将 return 一个包含您的结果的新字符串