Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String scala中的匹配字符串_String_Scala - Fatal编程技术网

String scala中的匹配字符串

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) 然而,我得到了一个空列表作为回报。

我试图创建一个方法,该方法获取列表列表(从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)

然而,我得到了一个空列表作为回报。在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”