2017-06-13 156 views
3
另一個字符串中的字符

讓我先說我是真正的新科特林但我有點熟悉Python前言本。刪除從字符串出現在科特林

我的目標是通過某種功能,從另一個字符串中刪除字符所有出現在一個字符串。

我可以告訴你我會怎麼做這在Python:

def removechars (s, chars) 
    return s.translate(None, chars) 

而且我可以這樣使用它:

print(removechars("The quick brown fox jumped over the sleazy dog!", "qot")) 

它將給這個輸出:

The uick brwn fx jumped ver the sleazy dg!  

我怎麼能在Kotlin裏有類似的東西?

回答

4

我建議使用filterNot()在科特林:

"Mississippi".filterNot { c -> "is".contains(c)} 

這應該輸出"Mpp"

3

您可以使用Regex(Python中equivlant模塊將re):

fun removeChars(s: String, c: String) = s.replace(Regex("[$c]"), "") 

println(removeChars("The quick brown fox jumped over the sleazy dog!", "qot")) 

輸出:

The uick brwn fx jumped ver he sleazy dg! 
+0

我不知道Kotlin,但它看起來並不像你[轉義](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/escape.html ) 那些角色。如果我設置了'chars =「[] \」'正則表達式將是'[[] \]'。 –

0

我不熟悉的科特林但我將宣佈兩個字符串和一個字符變量。然後做一個對於...下一頁聲明與字符被分配又在要刪除和搜索的字符串改變的信(S)每個字母。

這可能是沒有這樣做的最有效的方式,但如果你沒事在運行時間稍有延遲,它應該工作。