我有一个字符串数组,我试图找到每个字符串中的单词数。我理解如何找到单词的总数,但它也包含我不想要的数字。我已经尝试了s [i] .matches("。 \ d +。")但是只检查字符串中是否至少有一个数字。我试图找到总数(不是数字)。例如,一个字符串是" IN CONGRESS,1776年7月4日。"我的代码返回5个单词,即使只有3个单词,因为它包含2个数字。
答案 0 :(得分:0)
总词 - 带数字的单词应该有用。使用以下正则表达式:
matches(".*[0-9].*")
答案 1 :(得分:0)
public static void main(String[] args)
{
int count = 0;
for (String str : "IN CONGRESS, July 4, 1776.".split("(\\s+)(\\,)*(\\.)*"))
{
if (!str.matches("(.)*(\\d)(.)*"))
{
count++;
System.out.println("word "+count+":"+str);
}
}
System.out.println("Total words:"+count);
}