什么是字符串如何表示
什么是字符串如何表示
字符串或串是由數(shù)字、字母、下劃線組成的一串字符。那么你對(duì)字符串了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是字符串的內(nèi)容,希望大家喜歡!
字符串的介紹
字符串主要用于編程,概念說(shuō)明、函數(shù)解釋、用法詳述見(jiàn)正文,這里補(bǔ)充一點(diǎn):字符串在存儲(chǔ)上類似字符數(shù)組,所以它每一位的單個(gè)元素都是可以提取的,如s=“abcdefghij”,則s[0]=“a”,s[9]="j",而字符串的零位正是它的長(zhǎng)度,如s[0]=10(※上述功能Ansistring沒(méi)有。),這可以給我們提供很多方便,如高精度運(yùn)算時(shí)每一位都可以轉(zhuǎn)化為數(shù)字存入數(shù)組。
一般記為 s=“a1a2···an”(n>=0)。它是編程語(yǔ)言中表示文本的數(shù)據(jù)類型。在程序設(shè)計(jì)中,字符串(string)為符號(hào)或數(shù)值的一個(gè)連續(xù)序列,如符號(hào)串(一串字符)或二進(jìn)制數(shù)字串(一串二進(jìn)制數(shù)字)。
通常以串的整體作為操作對(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īng)用
1. 連接運(yùn)算 concat(s1,s2,s3…sn) 相當(dāng)于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 從字符串s中截取第I個(gè)字符開(kāi)始后的長(zhǎng)度為l的子串。
例:copy(‘abdag’,2,3)=’bda’
3. 刪除子串。過(guò)程 Delete(s,I,l) 從字符串s中刪除第I個(gè)字符開(kāi)始后的長(zhǎng)度為l的子串。
例:s:=’abcde’;delete(s,2,3);結(jié)果s:=’ae’
4. 插入子串。 過(guò)程Insert(s1,s2,I) 把s1插入到s2的第I個(gè)位置
例:s:=abc;insert(‘12’,s,2);結(jié)果s:=’a12bc’
5. 求字符串長(zhǎng)度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串長(zhǎng)度用 len(s)例: len("abc12")=5
6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個(gè)字符在s2中的位置,若不是子串,則返回0.
例:pos(‘ab’,’12abcd’)=3
7. 字符的大寫轉(zhuǎn)換。Upcase(ch) 求字符ch的大寫體。
例:upcase(‘a’)=’A’
8. 數(shù)值轉(zhuǎn)換為數(shù)串。 過(guò)程 Str(x,s) 把數(shù)值x化為數(shù)串s.
例:str(12345,s); 結(jié)果s=’12345’
9. 數(shù)串轉(zhuǎn)換為數(shù)值。 過(guò)程val(s,x,I) 把數(shù)串s轉(zhuǎn)化為數(shù)值x,如果成功則I=0,不成功則I為無(wú)效字符的序數(shù),第三個(gè)參數(shù)也可不傳
例:val(‘1234’,x,I);結(jié)果 x:=1234
字符串的表示法
一種常用的表示法是使用一個(gè)字符代碼的數(shù)組,每個(gè)字符占用一個(gè)字節(jié)(如在ASCII代碼中)或兩個(gè)字節(jié)(如在unicode中)。它的長(zhǎng)度可以使用一個(gè)結(jié)束符(一般是NUL,ASCII代碼是0,在C編程語(yǔ)言中使用這種方法)?;蛘咴谇懊婕尤胍粋€(gè)整數(shù)值來(lái)表示它的長(zhǎng)度(在Pascal語(yǔ)言中使用這種方法)。
這是一個(gè)用NUL結(jié)束的字符串的例子,它用10個(gè)byte存儲(chǔ),用ASCII表示法:
F R A N K NUL k e f w
46 52 41 4E 4B 00 6B 66 66 77
上面的字符串的長(zhǎng)度為5個(gè)字符,但注意它占用6個(gè)字節(jié)。結(jié)束符后的字符沒(méi)有任何意義。
這是相同的Pascal字符串:
length F R A N K k e f w
05 46 52 41 4E 4B 6B 66 66 77
當(dāng)然,可能還有其它的表示法。使用樹(shù)和列表可以使得一些字符串操作(如插入和刪除)更高效。
看過(guò)“字符串的表示法”的人還看了: