Erlang - 字符串



Erlang 中的字符串字面量是用引号括起来的字符串文本构建的。Erlang 中的字符串需要使用双引号构建,例如“Hello World”。

以下是 Erlang 中字符串用法示例:

示例

-module(helloworld). 
-export([start/0]). 

start() ->
   Str1 = "This is a string", 
   io:fwrite("~p~n",[Str1]).

上面的例子创建了一个名为Str1的字符串变量。字符串“This is a string”被赋值给变量并相应地显示。

上述程序的输出将是:

输出

“This is a string”

接下来,我们将讨论可用于字符串的各种操作。请注意,对于字符串操作,您还需要包含字符串库。

序号 字符串方法和描述
1

len

此方法返回特定字符串的长度。

2

equal

此方法返回一个布尔值,指示一个字符串是否等于另一个字符串。

3

concat

此方法连接两个字符串并返回连接后的字符串。

4

chr

此方法返回字符串中字符的索引位置。

5

str

此方法返回字符串中子字符串的索引位置。

6

substr

此方法根据起始位置和从起始位置开始的字符数,从原始字符串返回子字符串。

7

left

此方法根据起始位置和从起始位置开始的字符数,从原始字符串返回子字符串。

带尾随字符的left

此方法根据字符数返回字符串左侧的子字符串。但是,如果数字大于字符串的长度,可以选择包含尾随字符。

语法

left(str1,number,$character)

参数

  • str1 − 这是需要从中提取子字符串的字符串。

  • Number − 这是子字符串中需要存在的字符数。

  • $Character − 要作为尾随字符包含的字符。

返回值

根据字符串的左侧和数字返回原始字符串的子字符串。

例如

-module(helloworld). 
-import(string,[left/3]). 
-export([start/0]). 

start() -> 
   Str1 = "hello", 
   Str2 = left(Str1,10,$.), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

"hello....."

right

此方法根据字符数返回字符串右侧的子字符串。

语法

right(str1,number)

参数

  • str1 − 这是需要从中提取子字符串的字符串。

  • Number − 这是子字符串中需要存在的字符数。

返回值

根据字符串的右侧和数字返回原始字符串的子字符串。

例如

-module(helloworld). 
-import(string,[right/2]). 
-export([start/0]). 

start() -> 
   Str1 = "hello World", 
   Str2 = right(Str1,2), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

“ld”

带尾随字符的right

此方法根据字符数返回字符串右侧的子字符串。但是,如果数字大于字符串的长度,可以选择包含尾随字符。

语法

right(str1,number,$character)

参数

  • str1 − 这是需要从中提取子字符串的字符串。

  • Number − 这是子字符串中需要存在的字符数。

  • $Character − 要作为尾随字符包含的字符。

返回值

根据字符串的右侧和数字返回原始字符串的子字符串。

例如

-module(helloworld). 
-import(string,[right/3]). 
-export([start/0]). 

start() -> 
   Str1 = "hello", 
   Str2 = right(Str1,10,$.), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

".....hello"

to_lower

此方法返回小写字符串。

语法

to_lower(str1)

参数

  • str1 − 这是需要转换为小写的字符串。

返回值

返回小写字符串。

例如

-module(helloworld). 
-import(string,[to_lower/1]). 
-export([start/0]). 

start() -> 
   Str1 = "HELLO WORLD", 
   Str2 = to_lower(Str1), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

"hello world"

to_upper

此方法返回大写字符串。

语法

to_upper(str1)

参数

  • str1 − 这是需要转换为大写的字符串。

  • 返回值 − 返回大写字符串。

例如

-module(helloworld). 
-import(string,[to_upper/1]). 
-export([start/0]). 

start() -> 
   Str1 = "hello world", 
   Str2 = to_upper(Str1), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

"HELLO WORLD"

sub_string

返回字符串的子字符串,从 Start 位置开始到字符串的末尾,或到 Stop 位置(包括 Stop 位置)。

语法

sub_string(str1,start,stop)

参数

  • str1 − 这是需要从中返回子字符串的字符串。

  • start − 这是子字符串的起始位置

  • stop − 这是子字符串的结束位置

返回值

返回字符串的子字符串,从 Start 位置开始到字符串的末尾,或到 Stop 位置(包括 Stop 位置)。

例如

-module(helloworld). 
-import(string,[sub_string/3]). 
-export([start/0]). 

start() -> 
   Str1 = "hello world", 
   Str2 = sub_string(Str1,1,5), 
   io:fwrite("~p~n",[Str2]).

输出

运行上述程序后,我们将得到以下结果。

"hello"
广告