我想找到一個單行函數來執行scala中的substringAfter
,這與commons-lang的StringUtils.substringAfter()
相同。如何在一行中實現「substringAfter」?
def substringAfter(str:String, key:String) = ...
一些測試:
substringAfter("1234512345", "23") // ==> 4512345
substringAfter("1234512345", "a") // ==> ""
substringAfter("1234512345", "") // ==> 1234512345
substringAfter("", "23") // ==> ""
沒有必要在這裏考慮null
海峽。
現在,我有這樣的解決方案:
def substringAfter(s:String,k:String) = {
s.indexOf(k) match {
case -1 => ""
case i => s.substring(i+k.length)
}
}
如何獲得一個行嗎?
至少對我來說這已經很簡單了。 – 2012-02-27 03:42:48
你有你的函數定義。你看看字符串是否在使用1行。如果是這樣的話,如果它不是你在1行中返回你想要的東西,那麼你在1行中返回其他東西。 我與尼克拉斯B我沒有看到你想要多簡單嗎? – Jordan 2012-02-27 03:55:02
@Jordan,也許我想要一個單行功能,我只是更新了這個問題。 – Freewind 2012-02-27 03:56:44