📅  最后修改于: 2023-12-03 15:00:36.810000             🧑  作者: Mango
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
的值将为 123
,Str
的值将为 "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 中字符串的一些基本操作和常用函数,可以依据这些知识来处理和操作字符串。通过合理的使用,可以使代码更加简洁和高效。