學(xué)習(xí)啦 > 知識大全 > 知識百科 > 百科知識 > 什么是字符串如何表示

什么是字符串如何表示

時(shí)間: 謝君787 分享

什么是字符串如何表示

  字符串或串是由數(shù)字、字母、下劃線組成的一串字符。那么你對字符串了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是字符串的內(nèi)容,希望大家喜歡!

  字符串的介紹

  字符串主要用于編程,概念說明、函數(shù)解釋、用法詳述見正文,這里補(bǔ)充一點(diǎn):字符串在存儲(chǔ)上類似字符數(shù)組,所以它每一位的單個(gè)元素都是可以提取的,如s=“abcdefghij”,則s[0]=“a”,s[9]="j",而字符串的零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運(yùn)算時(shí)每一位都可以轉(zhuǎn)化為數(shù)字存入數(shù)組。

  一般記為 s=“a1a2···an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設(shè)計(jì)中,字符串(string)為符號或數(shù)值的一個(gè)連續(xù)序列,如符號串(一串字符)或二進(jìn)制數(shù)字串(一串二進(jìn)制數(shù)字)。

  通常以串的整體作為操作對象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。兩個(gè)字符串相等的充要條件是:長度相等,并且各個(gè)對應(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è)字符開始后的長度為l的子串。

  例:copy(‘abdag’,2,3)=’bda’

  3. 刪除子串。過程 Delete(s,I,l) 從字符串s中刪除第I個(gè)字符開始后的長度為l的子串。

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

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

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

  5. 求字符串長度 length(s) 例:length(‘12abc’)=5

  在ASP中 求字符串長度用 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ù)串。 過程 Str(x,s) 把數(shù)值x化為數(shù)串s.

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

  9. 數(shù)串轉(zhuǎn)換為數(shù)值。 過程val(s,x,I) 把數(shù)串s轉(zhuǎn)化為數(shù)值x,如果成功則I=0,不成功則I為無效字符的序數(shù),第三個(gè)參數(shù)也可不傳

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

  字符串的表示法

  一種常用的表示法是使用一個(gè)字符代碼的數(shù)組,每個(gè)字符占用一個(gè)字節(jié)(如在ASCII代碼中)或兩個(gè)字節(jié)(如在unicode中)。它的長度可以使用一個(gè)結(jié)束符(一般是NUL,ASCII代碼是0,在C編程語言中使用這種方法)。或者在前面加入一個(gè)整數(shù)值來表示它的長度(在Pascal語言中使用這種方法)。

  這是一個(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

  上面的字符串的長度為5個(gè)字符,但注意它占用6個(gè)字節(jié)。結(jié)束符后的字符沒有任何意義。

  這是相同的Pascal字符串:

  length F R A N K k e f w

  05 46 52 41 4E 4B 6B 66 66 77

  當(dāng)然,可能還有其它的表示法。使用樹和列表可以使得一些字符串操作(如插入和刪除)更高效。
看過“字符串的表示法”的人還看了:

1.你怎么在excel中使用len函數(shù)

2.Linux如何使用文本處理工具awk

3.Excel表格中怎樣提取字符串中的特定字符

4.c語言中char的用法

5.編碼管理制度范文三篇

6.c語言printf的用法

1556754