W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在F#中,string類型表示不可變文本的Unicode字符序列。
字符串文本由引號(“)字符分隔。
一些特殊字符有特殊用途,如換行符,制表符等。它們使用反斜杠(\)字符編碼。 反斜杠字符和相關(guān)字符構(gòu)成轉(zhuǎn)義序列。 下表顯示了F#支持的轉(zhuǎn)義序列。
字符 | 轉(zhuǎn)義序列 |
---|---|
Backspace | |
Newline | \n |
Carriage return | \r |
Tab | \t |
Backslash | \\ |
Quotation mark | \" |
Apostrophe | \' |
Unicode character | \uXXXX or \UXXXXXXXX (where X indicates a hexadecimal digit) |
以下兩種方式使編譯器忽略轉(zhuǎn)義序列
當字符串字符在@符號前面時,它被稱為averbatim字符串。這樣,字符串中的所有轉(zhuǎn)義序列都被忽略,除了兩個引號標記字符被解釋為一個引號標記字符。
當字符串由三重引號括起時,則所有轉(zhuǎn)義序列也將被忽略,包括雙引號字符。
以下示例演示了如何使用XML或其他包含嵌入引號的結(jié)構(gòu)
// Using a verbatim string let xmldata = @"<book author=""Lewis, C.S"" title=""Narnia"">" printfn "%s" xmldata
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
<book author="Lewis, C.S" title="Narnia">
下表顯示了字符串的基本操作
值 | 描述 |
---|---|
collect : (char → string) → string → string | 創(chuàng)建一個新的字符串,其字符是應(yīng)用特定的功能到每個輸入字符串的字符的并且鏈接該產(chǎn)生的串的結(jié)果。 |
concat : string → seq<string> → string | 返回與分隔的串聯(lián)給出的字符串做了一個新的字符串。 |
exists : (char → bool) → string → bool | 如果字符串的任何字符滿足給定謂詞測試。 |
forall : (char → bool) → string → bool | 如果測試字符串中的所有字符滿足給定謂詞。 |
init : int → (int → string) → string | 創(chuàng)建一個新的字符串,其字符是應(yīng)用特定的功能到每個索引和連接生成的字符串的結(jié)果。 |
iter : (char → unit) → string → unit | 通過使用指定的函數(shù)在字符串中的每個字符。 |
iteri : (int → char → unit) → string → unit | 通過使用指定的功能的字符串中的每個字符和字符本身的索引。 |
length : string → int | 返回字符串的長度。 |
map : (char → char) → string → string | 創(chuàng)建一個新的字符串,其字符是應(yīng)用特定的功能到每個輸入字符串的字符的結(jié)果。 |
mapi : (int → char → char) → string → string | 創(chuàng)建一個新的字符串,其字符是施加指定的函數(shù)來輸入字符串的每個字符和索引的結(jié)果。 |
replicate : int → string → string | 通過串聯(lián)串的實例中指定數(shù)量返回一個字符串。 |
下面的例子演示了上述一些功能的使用 -
所述String.collect功能構(gòu)建一個新的字符串,其字符是應(yīng)用特定的功能到每個輸入字符串的字符的并且鏈接該產(chǎn)生的串的結(jié)果。
let collectTesting inputS = String.collect (fun c -> sprintf "%c " c) inputS printfn "%s" (collectTesting "Happy New Year!")
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
H a p p y N e w Y e a r !
該String.concat函數(shù)將一個字符串分隔一個給定的序列,并返回一個新字符串。
let strings = [ "Tutorials Point"; "Coding Ground"; "Absolute Classes" ] let ourProducts = String.concat " " strings printfn "%s" ourProducts
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
Tutorials Point Coding Ground Absolute Classes
該String.replicate方法通過串聯(lián)串的實例中指定數(shù)量返回一個字符串。
printfn "%s" <| String.replicate 10 "*! "
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
*! *! *! *! *! *! *! *! *! *!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: