gpt4 book ai didi

scala - 检查 scala 中选项字符串是否为空

转载 作者:行者123 更新时间:2023-12-02 20:39:33 26 4
gpt4 key购买 nike

我想检查 scala 中是否有空字符串。如果字符串为空,则返回一个选项,否则返回 None

更新1

 case class Student(name:String,subject:Symbol = Symbol("Default")))

def getStudentName(name :Option[String]):Option[Student]={
name.flatMap(_ => Option(Student(name.get)))
}

更新2

场景 1:

 call 1- print(getStudentName(Option("abc")))//Some(Student(abc))
Call 2- print(getStudentName(Option("")))//return Some(Student())

场景 2:

case class Emp(id:Int)

def getEmp(id:Option[String]):Option[Emp]={
id.flatMap(_ => Option(Emp(id.get.toInt)))
}

print(getEmp(Option("123")))
print(getEmp(Option("")))//gives number format exception

当我传递""时,我想返回None

最佳答案

Option 进行了太多的换行,您可以轻松地执行以下操作:

场景1:

name
.filterNot(_.isEmpty)
.map(Student(_))

场景2:

id
.filterNot(_.isEmpty)
.filter(_.matches("^[0-9]*$")) // ensure it's a number so .toInt is safe
.map(id => Emp(id.toInt))

关于scala - 检查 scala 中选项字符串是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46281203/

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