Scala字符串连接,子字符串,长度函数
Scala字符串可以定义为字符序列。
今天,我们将研究String串联,子字符串和其他一些Scala字符串函数。
Scala字符串
考虑一个在Scala编程中定义字符串变量的示例。
object Str { val st: String = "Scala is a functional programming language" def main(args:Array[String]) { println(st) } }
输出:Scala是一种功能编程语言
Scala中的字符串与java字符串相同,因此值的类型为java.lang.String
。
Scala中提供了Java类,因此Scala使用Java字符串而不创建单独的字符串类。
与Java类似,String在Scala中是不可变的,即无法修改对象。
在Scala中创建字符串
可以通过以下两种方式创建字符串。
val s1 = "String is a sequence of characters" val s2:String = "String is a sequence of characters"
在第一种情况下,编译器遇到字符串文字并创建字符串对象s1。
在第二种情况下,在遇到字符串文字之前先指定String类型。
如果我们需要追加到原始字符串,可以在scala中使用StringBuilder
类。
Scala中的字符串长度
用于获取有关对象信息的方法称为访问器方法。
length()方法是访问器方法之一,它返回字符串中的字符数。
例如;
object strlen { def main(args: Array[String]) { var str = "Strings are immutable in scala"; var len = str.length(); println( "String Length is : " + len ); } }
Scala字符串串联
字符串可以通过两种方式连接在一起:一种是使用concat
方法,另一种是使用+
运算符。
让我们看一下如何在字符串上使用concat方法的示例。
object concat { def main(args: Array[String]) { var str1 = "String concatenation can be "; var str2 = "done using concat method"; var st = str1.concat(str2) println( "Concatenated String is : " + st ); } }
输出:串联字符串为:可以使用concat方法完成字符串串联
concat方法接受要串联的字符串。
现在,让我们看一个如何使用+运算符连接字符串的示例。
object strcon { def main(args: Array[String]) { var str1 = "Student name "; var str2 = "is Micheal"; var st = str1+ str2 println( "Concatenated String is : " + st ); } }
输出:串联字符串为:学生姓名为Micheal
Scala字符串格式
printf()和format()方法用于格式化输出数字。
String类具有format()
,它返回String对象。
object format { def main(args: Array[String]) { var n1 = 78.99 var n2 = 49 var s1 = "Hello, World!" var f1 = printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", n1, n2, s1) println(f1) } }
输出:float变量的值为78.990000,而整数变量的值为49,字符串为Hello,World!()
格式化方法可以如下使用。
object formatmethod { def main(args:Array[String]){ val firstName = "Chris" val lastName = "Harris" val age = 12; println("%s %s, %d".format(firstName, lastName, age)); } }
输出:克里斯·哈里斯(Chris Harris),12岁
Scala字符串函数
Scala中一些有用的字符串方法是:
char charAt(int index)→返回指定索引处的字符。
字符串replace(char c1,char c2)→返回一个新字符串,该字符串是用c2替换此字符串中所有出现的c1的结果。
String [] split(String reg1)→在给定正则表达式的匹配项周围拆分此字符串。
字符串substring(int i1)→返回一个新字符串,该字符串是该字符串的子字符串。
字符串trim()→返回字符串的副本,省略前导和尾随空格。
字符串substring(int b1,int e1)→返回一个新字符串,该字符串是该字符串的子字符串。
boolean startsWith(String prefix)→测试此字符串是否以指定的前缀开头。
boolean match(String regex)→判断此字符串是否与给定的正则表达式匹配。
int hashCode()→返回此字符串的哈希码。