我有一个网站上的文字。我正在扫描该页面并计算几个字符的数量,包括换行或“输入按下”和“标签”引起的空格。
我找到了计算行数等的答案。
我怎样才能在java中这样做?计算空格很容易,有一种方法,但据我所知,不是换行符或制表符。
网站是http://homepage.lnu.se/staff/jlnmsi/java1/HistoryOfProgramming.txt,我正在计算大写和小写字母,以及任何类型的空格。
到目前为止,我的输出对于大写和小写是正确的,但不是空格。我错过了15,这正是换行符的数量。
public class CountChar
{
public static void main(String[] args) throws IOException
{
int upperCase = 0;
int lowerCase = 0;
int whitespace = 0;
int others = 0;
String url = "http://homepage.lnu.se/staff/jlnmsi/java1/HistoryOfProgramming.txt";
URL page = new URL(url);
Scanner in = new Scanner(page.openStream());
while (in.hasNextLine())
{
whitespace++; // THIS IS THE SOLUTION FOR THOSE WHO COME LATER <<<<<
String line = in.nextLine();
for (int i = 0; i < line.length(); i++)
{
if (Character.isUpperCase(line.charAt(i)))
{
upperCase++;
}
else if (Character.isLowerCase(line.charAt(i)))
{
lowerCase++;
}
else if (Character.isWhitespace(line.charAt(i)))
{
whitespace++;
}
else
{
others++;
}
}
}
System.out.print(lowerCase + " " + upperCase + " " + whitespace + " " + others);
}
}
答案 0 :(得分:0)
如果我们假设您的数据存储在名为data
的字符串中:
String[] arrayOfLines= data.split("\r?\t?\n");
int length=arrayOfLines.length-1;
length
会在data
中提供换行符的数量。
答案 1 :(得分:0)
您可以使用标准库中的Pattern和Matcher类来创建正则表达式,以搜索您要查找的所有字符,并使用find()
计算出现次数但不知道这是否比你需要的更复杂,你可以将字符串拆分为你需要的所有空白字符......(类似于Krishna Chikkala's answer)