Compartilhar via


Seqüências de caracteres (F#)

O string tipo representa texto imutável, como uma seqüência de caracteres do Unicode. stringé um alias para String na.NET Framework.

Comentários

Seqüência de caracteres literais são delimitados pelo caractere de aspas ("). O caractere de barra invertida (\) é usado para codificar caracteres especiais. A barra invertida e o próximo caractere junto são conhecidos como um seqüência de escape. Tem suportadas no F# seqüência de caracteres literais são mostrados na tabela a seguir de seqüências de escape.

Caracterer

Seqüência de escape

BACKSPACE

\b

Nova linha

\n

Retorno de carro

\r

Tab

\t

Barra invertida

\\

Aspa

\"

Apóstrofo

\'

Caractere Unicode

\uXXXX ou \UXXXXXXXX (onde x indica um dígito hexadecimal)

Se precedido do símbolo @, o literal é uma seqüência textual. Isso significa que as seqüências de escape são ignoradas, exceto que os dois caracteres de aspas são interpretados como caracteres de uma aspa.

No código, seqüências de caracteres com quebras de linha são aceitas e as quebras de linha são interpretadas literalmente como novas linhas, a menos que um caractere de barra invertida é o último caractere antes da quebra de linha. Espaço em branco na próxima linha é ignorado quando o caractere barra invertida é usado. O código a seguir produz uma cadeia de caracteres str1 que possui o valor "abc\n def" e uma seqüência de caracteres str2 que possui o valor "abcdef".

FsLangRef1#1001

Você pode acessar caracteres individuais em uma seqüência de caracteres usando sintaxe semelhante à matriz, como segue.

printfn "%c" str1.[1]

A saída é b.

Ou você pode extrair substrings usando a sintaxe da fatia de matriz, como mostrado no código a seguir.

printfn "%s" (str1.[0..2])
printfn "%s" (str2.[3..5])

A saída é da seguinte maneira.

abc
def

Você pode representar seqüências ASCII pelas matrizes de bytes não assinados, digite byte[]. Você adiciona o sufixo B para uma seqüência de caracteres literal para indicar que é uma seqüência de caracteres ASCII. Literais de seqüência de caracteres ASCII usados com matrizes de byte suportam as mesmas seqüências de escape como seqüências de caracteres Unicode, exceto para as seqüências de escape do Unicode.

// "abc" interpreted as a Unicode string.
let str1 : string = "abc"
// "abc" interpreted as an ASCII byte array. 
let bytearray : byte[] = "abc"B 

Operadores de seqüência de caracteres

Há duas maneiras de concatenar seqüências: usando o + operador ou usando o ^ operador. O + operador mantém compatibilidade com o.NET Framework em seqüência recursos de tratamento.

O exemplo a seguir ilustra a concatenação de seqüência de caracteres.

let string1 = "Hello, " + "world"

String (Classe )

Porque o tipo de seqüência de caracteres na F# é realmente um.NET Framework String digitar todo o String os membros estão disponíveis. Isso inclui o + operador, que é usado para concatenar cadeias de caracteres, o Length propriedade e o Chars propriedade, que retorna a seqüência de caracteres como uma matriz de caracteres do Unicode. Para obter mais informações sobre seqüências de caracteres, consulte String.

Usando o Chars propriedade de String, você poderá acessar os caracteres individuais em uma seqüência de caracteres especificando um índice é mostrado no código a seguir.

let printChar (str : string) (index : int) =
    printfn "First character: %c" (str.Chars(index))

Módulo de seqüência de caracteres

Funcionalidade adicional para manipulação de seqüência de caracteres está incluída na String módulo de FSharp.Core namespace. Para obter mais informações, consulte Módulo de Core.String (F#).

Consulte também

Referência

String

Outros recursos

Referência de linguagem do F#