In Scala, the type of string is actually Java String, which does not have a String class.
In Scala, String is an immutable object, so the object cannot be modified. This means that if you modify the string, a new string object will be generated.
But other objects, such as arrays, are mutable objects
1. Definition:
字符可以用单引号:var character1 = 'a'
字符串用 双引号:var greeting = "Hello World!"
2. After the string is declared, it cannot be changed, and a new object will be created every time it is changed. If you want to change it, you can set it to StringBuilder
val builder = new StringBuilder
builder += 'a'
builder ++= "def"
println(builder.toString)
ps: += in StringBuilder is a method, used to splice characters, single quotes
++= method is to use double quotes to concatenate strings
3. String length .length
val builder = new StringBuilder
builder += 'a'
builder ++= "def"
println(builder.length)
Output: 4
4. String manipulation
4.1 Increase:
Splicing: concat() or +
eg:
val str1 = "abc"
val str2 = "ddd"
var str3 = str1.concat(str2)
var str4 = str1+str2
println(str3)
println(str4)
Output result:
common:
int indexOf(String str)
Returns the index of the first occurrence of the specified substring in this string
int indexOf(int ch, int fromIndex)
Returns the index of the first occurrence of the specified character in this string, starting the search from the specified index
boolean equals(Object anObject)
Compare this string with the specified object
int length()
Returns the length of this string
String[] split(String regex)
Split this string according to the match of the given regular expression
eg:
val str3 = "a,b,c,d,e,f,e" var arr1 = new Array[String](10) arr1 = str3.split(",") for (i <- arr1){ println(i) }
Output:
String substring(int beginIndex, int endIndex)
Return a new string, which is a substring of this string
String trim()
Delete the first and last blank characters of the specified string
Serial number | Method and description |
---|---|
1 | char charAt(int index) Returns the character at the specified position |
2 | int compareTo(Object o) Compare strings and objects |
3 | int compareTo(String anotherString) Lexicographically compares two strings |
4 | int compareToIgnoreCase(String str) Compare two strings lexicographically, regardless of case |
5 | String concat(String str) Concatenate the specified string to the end of this string |
6 | boolean contentEquals(StringBuffer sb) Compare this string with the specified StringBuffer. |
7 | static String copyValueOf(char[] data) Returns the String representing the character sequence in the specified array |
8 | static String copyValueOf(char[] data, int offset, int count) Returns the String representing the character sequence in the specified array |
9 | boolean endsWith(String suffix) Test whether this string ends with the specified suffix |
10 | boolean equals(Object anObject) Compare this string with the specified object |
11 | boolean equalsIgnoreCase(String anotherString) Compare this String with another String, regardless of case |
12 | byte getBytes() Use the platform's default character set to encode this String into a byte sequence, and store the result in a new byte array |
13 | byte[] getBytes(String charsetName Use the specified character set to encode this String into a byte sequence, and store the result in a new byte array |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Copy characters from this string to the target character array |
15 | int hashCode() Returns the hash code of this string |
16 | int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引 |
17 | int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索 |
18 | int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引 |
19 | int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始 |
20 | String intern() 返回字符串对象的规范化表示形式 |
21 | int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引 |
22 | int lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索 |
23 | int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引 |
24 | int lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索 |
25 | int length() 返回此字符串的长度 |
26 | boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式 |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等 |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等 |
29 | String replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的 |
30 | String replaceAll(String regex, String replacement 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串 |
31 | String replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串 |
32 | String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 |
33 | String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串 |
34 | boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始 |
35 | boolean startsWith(String prefix, int toffset) 测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 |
36 | CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列 |
37 | String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串 |
38 | String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串 |
39 | char[] toCharArray() 将此字符串转换为一个新的字符数组 |
40 | String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写 |
41 | String toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写 |
42 | String toString() 返回此对象本身(它已经是一个字符串!) |
43 | String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写 |
44 | String toUpperCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写 |
45 | String trim() 删除指定字符串的首尾空白符 |
46 | static String valueOf(primitive data type x) 返回指定类型参数的字符串表示形式 |