Scala字符串连接,子字符串,长度函数

时间:2020-02-23 14:41:48  来源:igfitidea点击:

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()→返回此字符串的哈希码。