Elixir 字符串

2023-12-14 16:18 更新

Elixir中的字符串用雙引號包圍,并且以UTF-8格式編碼:

iex> "hell?"
"hello"
注意:Windows系統(tǒng)的終端有可能默認(rèn)不實用UTF-8。你可以在進(jìn)入IEx之前輸入來改變當(dāng)前會話的編碼。?chcp 65001?

Elixir也支持格式化字符串:

iex> "hell? #{:world}"
"hell? world"

字符串可以包含換行。你可以用轉(zhuǎn)義字符來顯示它們:

iex> "hello
...> world"
"hello\nworld"
iex> "hello\nworld"
"hello\nworld"

你可以使用模塊中的函數(shù)來打印字符串:?IO??IO.put/1?

iex> IO.puts "hello\nworld"
hello
world
:ok

注意'IO.puts/1'函數(shù)在打印完之后返回了原子作為結(jié)果。?:ok?

Elixir中的字符串在內(nèi)部以二進(jìn)制來表示,并且按字節(jié)排序:

iex> is_binary("hell?")
true

我們還可以獲得字符串的字節(jié)數(shù):

iex> byte_size("hell?")
6

注意這個字符串的字節(jié)數(shù)是6,即使它只有5個字符。這是因為字符“?”在UTF-8編碼中占用了兩個字節(jié)。我們可以使用函數(shù)來獲取基于字符數(shù)的字符串長度:?String.length/1?

iex> String.length("hell?")
5

在字符串模塊中包含了一系列基于Unicode標(biāo)準(zhǔn)對字符串進(jìn)行處理的函數(shù):

iex> String.upcase("hell?")
"HELL?"


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號