String scala中的匹配字符串
我试图创建一个方法,该方法获取列表列表(从csv文件读取)和字符串,并输出包含该字符串的所有数据的列表 数据示例:String scala中的匹配字符串,string,scala,String,Scala,我试图创建一个方法,该方法获取列表列表(从csv文件读取)和字符串,并输出包含该字符串的所有数据的列表 数据示例: "Joe, 14,1989" "John, 13,1999" "Mary, 10, 2000" 我的功能是: def name(info: List[List[String]], str: String): List[List[String]] = info.filter(lst =>lst.head.toString == str) 然而,我得到了一个空列表作为回报。
"Joe, 14,1989"
"John, 13,1999"
"Mary, 10, 2000"
我的功能是:
def name(info: List[List[String]], str: String): List[List[String]] =
info.filter(lst =>lst.head.toString == str)
然而,我得到了一个空列表作为回报。在scala中比较字符串的最佳方法是什么?因为您正在调用
.head
,这将只返回第一个元素等于str
的列表。(调用.toString
也是多余的,因为这些项已经是字符串了。)
您需要的是
info.filter(lst=>lst.contains(str))
,或者简单地info.filter(u.contains(str))
,因为您正在调用.head
,这将只返回第一个元素等于str
的列表。(调用.toString
也是多余的,因为这些项已经是字符串了。)
你想要的是
info.filter(lst=>lst.contains(str))
,或者简单地说info.filter(u.contains(str))
是info.head
应该是列表(“joe”,“14”,“1989”)
?b/c是的,scala中的“joe”==“joe”。info.head
应该是列表(“joe”,“14”,“1989”)
?b/c scala中的是“joe”==“joe”
。