【发布时间】:2011-06-05 21:58:39
【问题描述】:
我希望能够在单词的第一个字母和“ABC”等组中的一个字母之间找到匹配项。在伪代码中,这可能类似于:
case Process(word) =>
word.firstLetter match {
case([a-c][A-C]) =>
case _ =>
}
}
但是如何在 Scala 而不是 Java 中获取第一个字母?如何正确表达正则表达式?是否可以在 case class 中执行此操作?
【问题讨论】:
-
警告:在 Scala(和 *ML 语言)中,模式匹配有另一个与正则表达式非常不同的含义。
-
您可能需要
[a-cA-C]来表示该正则表达式。 -
在 scala 2.8 中,字符串被转换为
Traversable(如List和Array),如果你想要前3个字符,尝试"my string".take(3),第一个"foo".head