Elixir 字符串

2023-12-14 16:18 更新

Elixir中的字符串用双引号包围,并且以UTF-8格式编码:

iex> "hellö"
"hello"
注意:Windows系统的终端有可能默认不实用UTF-8。你可以在进入IEx之前输入来改变当前会话的编码。​chcp 65001

Elixir也支持格式化字符串:

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

字符串可以包含换行。你可以用转义字符来显示它们:

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

你可以使用模块中的函数来打印字符串:​IO​IO.put/1

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

注意'IO.puts/1'函数在打印完之后返回了原子作为结果。​:ok

Elixir中的字符串在内部以二进制来表示,并且按字节排序:

iex> is_binary("hellö")
true

我们还可以获得字符串的字节数:

iex> byte_size("hellö")
6

注意这个字符串的字节数是6,即使它只有5个字符。这是因为字符“ö”在UTF-8编码中占用了两个字节。我们可以使用函数来获取基于字符数的字符串长度:​String.length/1

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

在字符串模块中包含了一系列基于Unicode标准对字符串进行处理的函数:

iex> String.upcase("hellö")
"HELLÖ"


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号