SCALA-006 Strings trong Scala
Nội dung bài viết
Trong Scala hổ kiểu chuỗi Strings để lưu và thao tác trên chuỗi kí tự.
Về bản chất Strings Scala là lớp Strings trong Java:
"hello theta!".getClass.getName
scala> "hello theta!".getClass.getName
res42: String = java.lang.String
1. Khai báo Strings
Khai báo Strings
val s = "Hello Scala!"
scala> val s = "Hello Scala!"
s: String = Hello Scala!
2. Ép kiểu số học thành Strings
Từ các kiểu số học bạn có thể ép sang String như sau
val a = 1
a.toString
scala> val a = 1
a: Int = 1
scala> a.toString
res52: String = 1
3. Nối chuỗi
Bạn có thể nối chuỗi trong Scala thông qua toán tử +
val s1 : String = "Hello"
val s2 : String = "World"
val result = s1 + " " + s2
scala> val s1 : String = "Hello"
s1: String = Hello
scala> val s2 : String = "World"
s2: String = World
scala> val result = s1 + " " + s2
result: String = Hello World
4. Tạo chuỗi nhiều dòng
Hai cách để tạo ra chuỗi nhiều dòng
Dùng kí tự xuống hàng
\n
Dùng triple-quotes
"""
val s = "Happy\nNew\nYear"
scala> val s = "Happy\nNew\nYear"
s: String =
Happy
New
Year
Hoặc dùng triple-quotes (tương tự python):
val s = """Love
Is
A
Four
Letter
Word"""
scala> val s = """Love
| Is
| A
| Four
| Letter
| Word"""
s: String =
Love
Is
A
Four
Letter
Word
5. Xử lí từng kí tự trong chuỗi ở một thời gian nhất định
Bạn có thể sử dụng
map
ánh xạ từng kí tự sang kí tự mớifilter
loại bỏ những kí không thỏa mãn điều kiệnforeach
không trả về bất kì thứ gì, thực thi hàm bên trong
val myStr = "khoa hoc may tinh"
myStr.map(_.toUpper)
myStr.filter( _ != 'k' )
scala> val myStr = "khoa hoc may tinh"
myStr: String = khoa hoc may tinh
scala> myStr.map(_.toUpper)
res0: String = KHOA HOC MAY TINH
scala> myStr.filter( _ != 'k' )
res1: String = hoa hoc may tinh
Với foreach, không trả về cuối dòng lệnh, tuy nhiên thực hiện một loạt các thao tác:
myStr.foreach(println(_))
scala> myStr.foreach(println(_))
k
h
o
a
h
o
c
m
a
y
t
i
n
h