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”

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

Sr.No 字符串方法和说明
1

len

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

2

equal

该方法返回一个布尔值,判断一个字符串是否等于另一个字符串。

3

concat

该方法连接 2 个字符串并返回连接后的字符串。

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(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

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

语法

sub_string(str1,start,stop)

参数

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

  • start &减号; 这是子字符串的起始位置

  • stop &减; 这是子串的停止位置

返回值

返回 String 的子字符串,从 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"