久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

字符串

來(lái)自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

字符串(String),是由零個(gè)或多個(gè)字符組成的有限串行。一般記為s=a_1 a_2\dots a_n (0\leq n \lneq\infty)。它是編程語(yǔ)言中表示文本的數(shù)據(jù)類型。

通常以的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。兩個(gè)字符串相等的充要條件是:長(zhǎng)度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等。設(shè)p、q是兩個(gè)串,求q在p中首次出現(xiàn)的位置的運(yùn)算叫做模式匹配。串的兩種最基本的存儲(chǔ)方式是順序存儲(chǔ)方式和鏈接存儲(chǔ)方式。


字符串函數(shù)[ ]

  • 連接運(yùn)算 concat(s1,s2,s3…sn) 相當(dāng)于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

  • 求子串。 Copy(s,I,L) 從字符串s中截取第I個(gè)字符開始后的長(zhǎng)度為l的子串。

   例:copy(‘a(chǎn)bdag’,2,3)=’bda’

  • 刪除子串。過(guò)程 Delete(s,I,l) 從字符串s中刪除第I個(gè)字符開始后的長(zhǎng)度為l的子串。

   例:s:=’abcde’;delete(s,2,3);結(jié)果s:=’ae’

  • 插入子串。 過(guò)程Insert(s1,s2,I) 把s1插入到s2的第I個(gè)位置

   例:s:=abc;insert(‘12’,s,2);結(jié)果s:=’a12bc’

  • 求字符串長(zhǎng)度 length(s) 例:length(‘12abc’)=5

   在ASP中 求字符串長(zhǎng)度用 len(s)例: len("abc12")=5

  • 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個(gè)字符在s2中的位置,若不是子串,則返回0.

   例:pos(‘a(chǎn)b’,’12abcd’)=3

  • 字符的大寫轉(zhuǎn)換。Upcase(ch) 求字符ch的大寫體。

   例:upcase(‘a(chǎn)’)=’A’

  • 數(shù)值轉(zhuǎn)換為數(shù)串。 過(guò)程 Str(x,s) 把數(shù)值x化為數(shù)串s.

   例:str(12345,s); 結(jié)果s=’12345’

  • 數(shù)串轉(zhuǎn)換為數(shù)值。 過(guò)程val(s,x,I) 把數(shù)串s轉(zhuǎn)化為數(shù)值x,如果成功則I=0,不成功則I為無(wú)效字符的序數(shù)

   例:val(‘1234’,x,I);結(jié)果 x:=1234



字符串操作[ ]

一個(gè)簡(jiǎn)單的字符串操作是“連接”:也就是說(shuō)先寫一個(gè)字符串S,隨后在后面再寫一個(gè)T得到ST這樣一個(gè)過(guò)程。 其它的常見(jiàn)操作包括在一個(gè)長(zhǎng)字符串中搜索一個(gè)子串,排列一組字符串

以及分析一個(gè)字符串。因?yàn)榇嬖谌绱硕嗟淖址畱?yīng)用方式,所以相應(yīng)地有許多權(quán)衡了不同應(yīng)用的相關(guān)算法。 高級(jí)的字符串算法通常使用包括后向樹和有限狀態(tài)機(jī)在內(nèi)的復(fù)雜機(jī)制和

數(shù)據(jù)結(jié)構(gòu)。



字符編碼[ ]

歷史上,字符串?dāng)?shù)據(jù)類型為每個(gè)字符分配一個(gè)字節(jié),盡管精確的字符集隨著區(qū)域而改變,字符編碼足夠類似得程序員可以忽略它 — 同一個(gè)系統(tǒng)在不同的區(qū)域中使用的字符集組要

么讓一個(gè)字符在同樣位置,要么根本就沒(méi)有它。這些字符集典型的基于ASCII碼或EBCDIC碼。    意音文本的語(yǔ)言比如漢語(yǔ)、日語(yǔ)和朝鮮語(yǔ)(合稱為CJK)的合理表示需要多于256個(gè)字符(每字符一個(gè)字節(jié)編碼的極限)。常規(guī)的解決涉及保持對(duì)ASCII碼的單字節(jié)表示并使用雙字節(jié)來(lái)表示

CJK字形。現(xiàn)存代碼在用到它們會(huì)導(dǎo)致一些字符串匹配和切斷上的問(wèn)題,嚴(yán)重程度依賴于字符編碼是如何設(shè)計(jì)的。某些編碼比如EUC家族保證在ASCII碼范圍內(nèi)的字節(jié)值只表示ASCII字

符,使得使用這些字符作為字段分隔符的系統(tǒng)得到編碼安全。其他編碼如ISO-2022和Shift-JIS不做這種擔(dān)保,使得基于字節(jié)的代碼做的匹配不安全。另一個(gè)問(wèn)題是如果一個(gè)字符串的

開頭被刪除了,對(duì)解碼器的重要指示或關(guān)于在多字節(jié)序列中的位置的信息可能就丟失了。另一個(gè)問(wèn)題是如果字符串被連接到一起(特別是在被不知道這個(gè)編碼的代碼截?cái)嗔怂鼈兊慕Y(jié)尾

之后),第一個(gè)字符串可能不能導(dǎo)致編碼器進(jìn)入適合處理第二個(gè)字符串的狀態(tài)中。    Unicode也有些復(fù)雜的問(wèn)題。多數(shù)語(yǔ)言有Unicode字符串?dāng)?shù)據(jù)類型(通常是UTF- 16,因?yàn)樗赨nicode補(bǔ)充位面介入之前就被增加了)。在Unicode和本地編碼之間轉(zhuǎn)換要求理解本地編

碼,這對(duì)于現(xiàn)存系統(tǒng)要一起傳輸各種編碼的字符串而又沒(méi)有實(shí)際標(biāo)記出它們用了什么編碼就是個(gè)問(wèn)題。



算法[ ]

這是一些字符串處理算法,在字符串上進(jìn)行不同的處理:

字符串查找算法

正則表達(dá)式算法

模式匹配

字符串的匹配算法(kmp)。



相關(guān)條目[ ]



參考資源[ ]

參考資源1

參考資源2