24 lines
597 B
Scala
24 lines
597 B
Scala
object StripComments {
|
|
def stripComments1(s:String, markers:String =";#")=s takeWhile (!markers.contains(_)) trim
|
|
|
|
// using regex and pattern matching
|
|
def stripComments2(s:String, markers:String =";#")={
|
|
val R=("(.*?)[" + markers + "].*").r
|
|
(s match {
|
|
case R(line) => line
|
|
case _ => s
|
|
}) trim
|
|
}
|
|
|
|
def print(s:String)={
|
|
println("'"+s+"' =>")
|
|
println(" '"+stripComments1(s)+"'")
|
|
println(" '"+stripComments2(s)+"'")
|
|
}
|
|
|
|
def main(args: Array[String]): Unit = {
|
|
print("apples, pears # and bananas")
|
|
print("apples, pears ; and bananas")
|
|
}
|
|
}
|