2014-04-10 113 views
0

我有一個字符串數組,我試圖找出每個字符串中的字數。我明白如何找到單詞的總數,但它也包含了我不想要的數字。我試過s [i] .matches(「。\ d +。」),但只檢查字符串中是否至少有一個數字。我試圖找到總數(不是數字)。例如,一個字符串是「1776年7月4日舉行的國會大會」。即使只有3個字,我的代碼也會返回5個字,因爲它包含2個數字。確定一個字符串中有多少個數字

+1

你只需要只有你首先想要的東西相匹配的正確的正則表達式。如果你想發佈你試過的東西,人們可以提供如何實現你想要的東西。 –

回答

0

總詞 - 帶數字的詞應該工作。使用下面的正則表達式:

matches(".*[0-9].*") 
+0

我試過,但匹配(「。* [0-9]。*」)'是一個布爾值,只返回true或false。然後我需要找出字符串中實際存在多少個數字 – jnathan13

+0

您可以在字符串上使用split(「」),然後嘗試匹配每個元素。所以你可以使用split(「」).length獲得單詞/數字的總數,然後減去正則表達式的匹配數量...... – Arkillon

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); 
} 
相關問題