gpt4 book ai didi

string - 在 Scala 中修剪字符串

转载 作者:行者123 更新时间:2023-12-03 08:09:56 25 4
gpt4 key购买 nike

如何在 Scala 中修剪字符串的开始和结束字符

对于诸如 ",hello" 之类的输入或 "hello," ,我需要输出为 "hello" .

在 Scala 中是否有任何内置方法可以做到这一点?

最佳答案

尝试

val str = "  foo  "
str.trim

并查看 the documentation .如果您需要摆脱 ,性格,你也可以尝试这样的事情:
str.stripPrefix(",").stripSuffix(",").trim

清理字符串前端的另一种方法是
val ignoreable = ", \t\r\n"
str.dropWhile(c => ignorable.indexOf(c) >= 0)

它还可以处理像 ",,, ,,hello" 这样的字符串

为了更好地衡量,这里有一个小函数,它在字符串中从左到右一次扫描:
def stripAll(s: String, bad: String): String = {

@scala.annotation.tailrec def start(n: Int): String =
if (n == s.length) ""
else if (bad.indexOf(s.charAt(n)) < 0) end(n, s.length)
else start(1 + n)

@scala.annotation.tailrec def end(a: Int, n: Int): String =
if (n <= a) s.substring(a, n)
else if (bad.indexOf(s.charAt(n - 1)) < 0) s.substring(a, n)
else end(a, n - 1)

start(0)
}

使用喜欢
stripAll(stringToCleanUp, charactersToRemove)

例如。,
stripAll("  , , , hello , ,,,, ", " ,") => "hello"

关于string - 在 Scala 中修剪字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17995260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com