Scala程式設計實戰 第一章 字串 1

2021-10-04 05:41:56 字數 2728 閱讀 6975

scala> val s1=

"hello"

s1: string = hello

scala> val s1 =

"hello"

s1: string = hello

scala> val s2 =

"hello"

s2: string = hello

scala> val s3 =

"h"+

"ello"

s3: string = hello

scala> s1 == s2

res0: boolean =

true

scala> s1 == s3

res1: boolean =

true

ps: s1.touppercase == s2.touppercase

在scala中,定義在anyref類中的 == 方法首先校驗是否為null,之後會呼叫第乙個物件(如this)的equals方法,所以比較字串時不用檢查是否為null

「」" 「」"

val foo =

"""this is

a multiline

string"""

s1.stripmargin

所有行以管道符開頭,寫了管道符 | 就是行首

或者也可以 s1.stripmargin(』#』) 使用任意符號作為行首符

s1.replaceall(str1,str2)

用str2來替代s1中的str1,可以把"\n"替代為"",就可以把多行字串轉換成乙個連續的行

scala多行字串語法可以包括單引號和雙引號,無需進行轉移

s1.split(「分隔符」)

scala>

"hello world"

.split

(" "

)res2: array[string]

=array

(hello, world)

scala>

"hello world"

.split

(" ").

foreach

(println)

hello

world

scala> val s =

"eggs, milk, butter, cocopuffs"

s: string = eggs, milk, butter, cocopuffs

scala> s.

split

(", ").

map(_.trim)

res4: array[string]

=array

(eggs, milk, butter, cocopuffs)

也可以用正規表示式分割乙個字串

s" ***$變數名***"

s" ***$***"

s" ***$***"

s其實是乙個方法,scala提供了其他更強有力的插值函式,也可以自定義字串插值函式

f"***$變數名%佔位符***"

"%d %f ".format(param1,param2)

這樣就可以在佔位符上格式化列印前面的變數名,類似於printf函式

raw"***\n***"

不會對字串中的字元進行轉義

字串操作符可以用模式匹配~

.map(c => c.method) 或者 .map(_.method)

scala> val upper =

"hello,world"

.map

(c =

> c.toupper)

upper: string = hello,world

scala> val upper =

"hello,world"

.map

(_.toupper)

upper: string = hello,world

for + yield

scala> val upper =

for(c <

-"hello, world"

) yield c.toupper

upper: string = hello, world

//for迴圈中使用 if 哨兵守衛

scala> val result =

for yield c.toupper

result: string = heo, word

理解map的工作方式,對任何序列的元素進行引數中的函式處理返回形成乙個新的原型別序列

scala>

"hello"

.getbytes

res5: array[byte]

=array

(104

,101

,108

,108

,111

)

getbytes方法返回乙個字串中的有序集合位元組

Scala程式設計實戰 第一章 字串 2

val patternstr 正規表示式 r string.r方法可以建立乙個regex物件val match1 patternstr.findfirstin 待查詢string regex物件的findfirstin方法會找到第乙個匹配的,返回乙個option string 相當於乙個容器,包含了...

驅動第一章字串

使用字串結構 傳統c語言總定義和使用字串 ansi和unicode ansi unicode char str ansi字串定義 wchar t wstr unicode字串定義 求長度 size t len strlen str ansi size t wlen wcslen wstr unico...

程式設計藝術之第一章 左轉字串

題目描述 字串的左轉操作 將字串前面的若干個字元移動到字串的尾部。例如 把字串abcdef 左旋轉2位得到字串cdefab。要求 要求對字串實現左旋轉操作,並且對長度為n的字串操作的時間複雜度為o n 空間複雜度為o 1 方法一 我們可以講字串的左轉想成如下過程 假設左轉1個字元 1 先把第乙個字元...