Erlang Central

Category:StringRecipes

Revision as of 22:18, 3 September 2006 by Bfulgham (Talk | contribs)

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, $ , $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 external references may be helpful in your string efforts: