Erlang Central

Difference between revisions of "Category:StringRecipes"

From ErlangCentral Wiki

(References: Fixed broken links.)
Line 42:Line 42:
  
 
== References ==
 
== References ==
The following external references may be helpful in your string efforts:
+
The following pages in the [http://www.erlang.org/doc/ Erlang Documentation] may be helpful in your string efforts:
* [http://www.erlang.org/doc/doc-5.5.1/doc/reference_manual/part_frame.html String Section of the Erlang Reference Manual (Sect 2.11)]
+
* [http://www.erlang.org/doc/reference_manual/data_types.html#2.11 String Section of the Erlang Reference Manual (Sect 2.11)]
* [http://www.erlang.org/doc/doc-5.5.1/lib/stdlib-1.14.1/doc/html/lists.html List Libraries ]
+
* [http://www.erlang.org/doc/man/lists.html List Libraries ]
* [http://www.erlang.org/doc/doc-5.5.1/lib/stdlib-1.14.1/doc/html/string.html String Libraries]
+
* [http://www.erlang.org/doc/man/string.html String Libraries]
* [http://www.erlang.org/doc/doc-5.5.1/lib/stdlib-1.14.1/doc/html/io_lib.html Basic I/O Libraries]
+
* [http://www.erlang.org/doc/man/io_lib.html Basic I/O Libraries]
  
 
[[Category:CookBook]]
 
[[Category:CookBook]]

Revision as of 13:20, 25 July 2007

Introduction

In Erlang, a string is a list of characters. The designers of Erlang thoughtfully included a bit of syntactic sugar so that strings in source code could be easily read. A string is written by enclosing the characters with a doublequote ("). Some special characters must be preceded by a backslash, these include doublequote and backslash. The technique of marking special characters is called escaping and backslash itself is called an escape character.

Examples of literal strings:

"Hello world"
"This string has a \" in it"
"This character \\ is a slash"

Since Erlang stores its strings as lists of characters, writing the string "Hello world." like this:

A = "Hello world.".
"Hello world."

is exactly the same (to Erlang) as writing this:

A = [72,101,108,108,111,32,119,111,114,108,100,46].
"Hello world."

which is exactly the same as writing this:

A = [$H, $e, $l, $l, $o, $\s, $w, $o, $r, $l, $d, $.].
"Hello world."

In Erlang, strings are lists of characters (really, lists of integers). Since you can't talk about strings without talking about characters, you should know that Erlang supports the Basic Latin and Latin-1 Supplement, a.k.a. ISO-8859-1.

You can specify a character with the sequence $ followed by the character, i.e.

1> $A.
65
2> $a.
97
3> $*.
42

Since Erlang stores all strings as a sequence of integers, it actually supports all of the Unicode character sets, since they simply map into a set of numbers. Unfortunately, Erlang does not currently support reading native unicode files or sorting in locale-specific ways based on unicode. However, there are plans to do this in the future.

References

The following pages in the Erlang Documentation may be helpful in your string efforts: