鑑於以下字符串單詞之後截斷字符串,...如何在斯卡拉
"localhost:9000/one/two/three"
我想截斷它後的字two
並獲得
"localhost:9000/one/two"
我已經實施如下方法truncateBefore
和truncateAfter
:
def truncateBefore(s: String, p: String) = {
s.substring(s.indexOf(p) + p.length, s.length)
}
def truncateAfter(s: String, p: String) = {
s.substring(0, s.indexOf(p) + p.length)
}
種
這些方法的工作,並返回預期的結果:
scala> truncateAfter("localhost:9000/one/two/three", "three")
res1: String = localhost:9000/one/two
scala> truncateBefore("localhost:9000/one/two/three", "three")
res2: String = /three
有沒有更好的辦法在Scala中做到這一點?最好用正則表達式?
斯卡拉增加了一些不錯的東西Java的正則表達式,你當然可以用它來解決這個問題。 – joescii
你想用一個呼叫返回兩個例子嗎?我認爲對於字符串操作,這個解決方案已經足夠好了 –
@barnesjd,這個解決方案不使用正則表達式。 –