Java 出现奇怪的字符,而不是“quot;特别";字母(á;,ó;,ñ;,ü;…)
类以字符串形式从“meneame”网页获取特定内容Java 出现奇怪的字符,而不是“quot;特别";字母(á;,ó;,ñ;,ü;…),java,string,Java,String,类以字符串形式从“meneame”网页获取特定内容 public class DownloadWeb { private String web; public DownloadWeb(){ try{ InputStream is = null; BufferedReader br; String line; URL url = new URL ("https://www.meneame.net/"); is = url.openStream(); br = new BufferedReade
public class DownloadWeb {
private String web;
public DownloadWeb(){
try{
InputStream is = null;
BufferedReader br;
String line;
URL url = new URL ("https://www.meneame.net/");
is = url.openStream();
br = new BufferedReader(new InputStreamReader(is));
StringBuilder output2 = new StringBuilder();
while((line = br.readLine()) != null){
output2.append(line);
}
Pattern p = Pattern.compile("<div class=\"center-content\"> *<h2> <a.{10,200} >(.{50,200})</a>");
Matcher m = p.matcher(output2);
Pattern p2 = Pattern.compile("<div class=\"news-content\">(.{100,500})</div> *</div>");
Matcher m2 = p2.matcher(output2);
StringBuilder sb = new StringBuilder();
while(m.find() && m2.find()){
sb.append(m.group(1).replaceAll(""", "") + "\n");
sb.append(m2.group(1).replaceAll(""", "")+ "\n");
}
web = sb.toString();
}catch(Exception e){};
}
public String getWeb(){return web;}
}
一切正常,我打印出来,它显示正确。
但是,当我调试文件并检查存储的内容时,某些字符与上次输出的字符不同。这里有一个例子来说明我在说什么
我的问题是我不能那样使用它。
在另一个类别中,我将以大写字母开头的单词分组到HashMap
(整数是该单词出现的频率)
我这样做是因为我必须实现一个方法,它接收一个单词,并返回该单词的频率。
当我试着用一个有“s”这样的字符的单词时�" 这显然不起作用,所以我有点急切地想要一个解决方案…就像真的绝望的ngl
有没有办法让有重音符号的单词不带重音符号,这样就不会发生这种情况?就像让所有的单词都是“普通”字母一样,没有像“ñ”或“ü”这样的东西
编辑:这解决了我的问题。特别感谢@xerx593链接它。这回答了你的问题吗?文本不是简单的“纯文本”,它在某些编码中存储为字节。当部分使用不同的编码时,你会遇到类似这样的问题。这回答了你的问题吗?文本不是简单的“纯文本”,它在某些编码中存储为字节。当部件使用不同的编码时,会出现如下问题
System.out.println("getWeb");
DownloadWeb instance = new DownloadWeb();
System.out.println(instance.getWeb());