2012-02-26 16 views
0
StringTokenizer st = new StringTokenizer(remaining, "\t\n\r\"'>#"); 

String strLink = st.nextToken(); 

輸入字符串剩餘可以是下列之一:如何使用正則表達式的StringTokenizer

  1. "http://somegreatsite.com">Link Name</a>is a link to another nifty site<H1>This is a Header</H1><H2>This is a Medium Header</H2>Send me mail at <a href="mailto:[email protected]">[email protected]</a>.<P> This is a new paragraph!<P> <B>This is a new paragraph!</B><BR> <B><I>This is a new sentence without a paragraph break, in bold italics.</I></B><HR></BODY></HTML>

  2. "mailto:[email protected]">[email protected]</a>.<P> This is a new paragraph!<P> <B>This is a new paragraph!</B><BR> <B><I>This is a new sentence without a paragraph break, in bold italics.</I></B><HR></BODY></HTML>

我知道那StringTokenizer構造函數將使用正則表達式將字符串*remaining*劃分爲令牌。 但我無法理解這裏使用的正則表達式。

strLink將有串*remaining*在基於值以下值:

1. http://somegreatsite.com
2. mailto:[email protected]

請幫我瞭解在上面的代碼中使用正則表達式。

+1

每個在下面'remaining'中傳遞的字符將被視爲分隔符,每次遇到其中一個分隔符時,輸入字符串將被拆分爲一個標記。 – 2012-02-26 07:34:46

+2

''\ t \ n \ r \''>#「'不是一個正則表達式,它只是一個簡單的字符列表 – 2012-02-26 07:36:20

+2

當你是Java開發人員時,閱讀javadoc確實有幫助:http:// docs。 oracle.com/javase/6/docs/api/java/util/StringTokenizer.html#StringTokenizer%28java.lang.String,%20java.lang.String%29 – 2012-02-26 08:02:55

回答

3

這些字符\t\n\r\"'>#不是正則表達式,而是分隔符。例如,您可以在Pattern類中看到特殊字符的含義。

\t - The tab character 
\n - The newline (line feed) character 
\r - The carriage-return character 
\" - this is just a double quote 
', >, # - other symbols