我正在從請求中提取一個字符串變量。在連字符處將字符串分爲兩個
String issueField = request.getParameter("issueno");
這可能有也可能沒有中間的連字符。我希望能夠遍歷字符串並在連字符出現時劃分字符串。
我正在從請求中提取一個字符串變量。在連字符處將字符串分爲兩個
String issueField = request.getParameter("issueno");
這可能有也可能沒有中間的連字符。我希望能夠遍歷字符串並在連字符出現時劃分字符串。
使用字符串#分割:
String[] parts = issueField.split("-");
然後你可以使用parts[0]
拿到第一部分,parts[1]
第二,...
Bah,確保parts.length大於或等於2 ...或者檢查它是否有多個連字符或... –
雖然String.split將做的工作,番石榴的斯普利特類不會默默地丟棄尾隨分隔符,並且它的API在不需要時強制使用正則表達式:
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/base/Splitter.html
對於你的問題,這裏有一個代碼片段:
Iterable<String> parts = Splitter.on('-').split(issueField);
一些額外的獎金與使用分離器而不是String.split的:
Iterable
是懶惰。在 中,換句話說,直到迭代它纔會真正做 工作。不使用Splitter的唯一原因是如果你不想在你的類路徑中包含Guava。
也可以使用java.util.StringTokenizer類。雖然String.split對於你的問題更容易和合適。
爲什麼不使用'issueField.split(「 - 」)'只檢查數組的大小? – Favonius