我在做字符串操作,我需要比在Java中提供的更高級的功能。Java字符串:具有高級功能的類或包?
例如,我想返回字符串中第(n-1)個字符到第n個字符之間的子字符串。
我的問題是,是否有已經由用戶執行此功能編寫的類,以及許多其他字符串操作?或者我應該挖掘我需要的每個特定功能的stackoverflow?
我在做字符串操作,我需要比在Java中提供的更高級的功能。Java字符串:具有高級功能的類或包?
例如,我想返回字符串中第(n-1)個字符到第n個字符之間的子字符串。
我的問題是,是否有已經由用戶執行此功能編寫的類,以及許多其他字符串操作?或者我應該挖掘我需要的每個特定功能的stackoverflow?
查看Apache Commons類的StringUtils,它有很多有趣的方式來處理字符串。
http://commons.apache.org/lang/api-2.3/index.html?org/apache/commons/lang/StringUtils.html
你看過正則表達式API嗎?這通常是做複雜的東西用繩子你最好的選擇:
http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
沿着你希望做什麼,你可以遍歷字符串中的一個模式行(在你的情況下,單個字符)和匹配字符串中的所有內容,但不包括字符的下一個實例,即所謂的捕獲組。
它已經因爲我已經寫了一個正則表達式了一段時間,但如果你正在尋找例如字符A,然後我認爲你可以使用正則表達式A([^A]*)
,並保持該字符串匹配。括號中的內容是一個捕獲組,我在下面參考。與之相匹配的,你就必須在模式匹配方法:
在匹配器實例,您需要確保比賽是真實的,然後不斷調用find()和組(1)根據需要,組(1)會在括號中找到你所在的位置。你可以在你的循環中使用一個計數器來確保你得到這個字母的n-1個實例。
最後,模式提供了可以傳入的標誌,以指示您可能需要的不區分大小寫等內容。
如果我在這裏犯了一些錯誤,那麼有人請糾正我。就像我說的,我不會每天寫正規表達式,所以我確信我有點偏離。
感謝我曾想過正則表達式的太多,但速度在運行時的緣故,我寧可不使用正則表達式匹配的簡單,一般的字符串操作。 – seinecle
這就是我正在尋找的!非常感謝!我只需要弄清楚如何在我的Netbeans環境中安裝它(我*非常*新的Java!) – seinecle
http://stackoverflow.com/questions/5893349/how-to-add-library-files -in-的NetBeans – AlphaB