簡體   English   中英

如何從 Scala 中的字符串中刪除子字符串/字符?

[英]How do I remove a substring/character from a string in Scala?

我正在編寫一個需要過濾字符串的程序。 所以我有一個字符映射,我希望字符串過濾掉所有不在映射中的字符。 有沒有辦法讓我做到這一點?

假設我們有字符串和地圖:

str = "ABCDABCDABCDABCDABCD"

Map('A' -> "A", 'D' -> "D") 

然后我希望將字符串過濾為:

str = "BCBCBCBCBC"

另外,如果我在字符串中找到給定的子字符串,有沒有辦法用不同的子字符串替換它?

例如,如果我們有字符串:

"The number ten is even"

我們可以將其替換為:

"The number 10 is even"

用地圖過濾字符串只是一個過濾命令:

val str = "ABCDABCDABCDABCDABCD"
val m = Map('A' -> "A", 'D' -> "D")

str.filterNot(elem => m.contains(elem))

評論中推薦的更實用的替代方案

str.filterNot(m.contains)

輸出

scala> str.filterNot(elem => m.contains(elem))
res3: String = BCBCBCBCBC

替換字符串中的元素:

string.replace("ten", "10")

輸出

scala> val s  = "The number ten is even"
s: String = The number ten is even

scala> s.replace("ten", "10")
res4: String = The number 10 is even

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM