📜  Erlang-字符串(1)

📅  最后修改于: 2023-12-03 15:00:36.810000             🧑  作者: Mango

Erlang 字符串

Erlang 是一种函数式编程语言,它提供了对字符串的处理和操作。本文将向程序员介绍 Erlang 中字符串的基本概念和常用操作。

字符串表示

在 Erlang 中,字符串是由一系列 Unicode 字符组成的列表。每个字符都是一个整数,代表了 Unicode 编码。

String = "Hello, World!".
字符串连接

可以使用 ++ 运算符将两个字符串连接在一起。

String1 = "Hello, ".
String2 = "World!".
String = String1 ++ String2.

运行上述代码后,String 的值将为 "Hello, World!"

字符串长度

可以使用 length/1 函数获取一个字符串的长度。

String = "Hello, World!".
Len = length(String).

此时,Len 的值将为 13

获取子字符串

可以使用 lists:sublist/3 函数从一个字符串中截取子串。

String = "Hello, World!".
SubString = lists:sublist(String, StartIndex, Length).

其中,StartIndex 为子串的起始索引,Length 为子串的长度。

字符串分割

可以使用 string:tokens/2 函数将一个字符串按照指定的分隔符拆分为多个子串。

String = "Hello,World,Erlang".
Tokens = string:tokens(String, ",").

此时,Tokens 的值将为 ["Hello", "World", "Erlang"]

字符串替换

可以使用 string:replace/3 函数将一个字符串中的指定子串替换为另一个字符串。

String = "Hello, World!".
NewString = string:replace(String, "World", "Erlang").

此时,NewString 的值将为 "Hello, Erlang!"

字符串转换

Erlang 提供了许多函数用于字符串的类型转换,例如将字符串转换为整数 (list_to_integer/1) 或将整数转换为字符串 (integer_to_list/1)。

String = "123".
Int = list_to_integer(String).
Str = integer_to_list(Int).

此时,Int 的值将为 123Str 的值将为 "123"

字符串格式化

可以使用 io_lib:format/2 函数将变量的值插入到字符串中。

Name = "John".
Age = 30.
String = io_lib:format("My name is ~s and I am ~B years old.", [Name, Age]).

此时,String 的值将为 "My name is John and I am 30 years old."

以上介绍了 Erlang 中字符串的一些基本操作和常用函数,可以依据这些知识来处理和操作字符串。通过合理的使用,可以使代码更加简洁和高效。