-
字符函數
鎖定
- 中文名
- 字符函數
- 外文名
- character function
- 應用領域
- 計算機等
- 涉及編程語言
- C語言,Linux等
- 操作對象
- 字符
- 屬 性
- 計算機函數
目錄
- 1 C語言
- 2 Visual FoxPro
- ▪ 宏代換函數
- ▪ 求字符串長度函數
- ▪ 求子串位置函數
- ▪ 取子串函數
- ▪ 刪除字符串前後空格函數
- ▪ 生成空格函數
- ▪ 字符串替換函數
- ▪ 產生重複字符函數
- ▪ 大小寫字母轉換函數
- ▪ 計算字串出現次數函數
- ▪ 字符串匹配函數
- 3 Linux
字符函數C語言
在實際編程中常需要對個別字符進行處理,C語言也提供了字符函數。這些函數不能被應用於整個字符串,但可以被應用於字符串中的個別字符。表中羅列了幾個最常用且有用的字符函數,使用這些函數必須包含頭文件“ctype.h”。
[1]
函數名 | 為如下參數時,返回值為真, 否則為零 |
---|---|
isalpha() | 字母 |
isblank() | 標準的空白字符(空格、換行或水平製表符)或任何其他預定義指定為空白符的字符 |
isdigit() | 阿拉伯數字 |
islower() | 小寫字母 |
isupper() | 大寫字母 |
isspace() | 空白字符:空格、換行、走紙、回車、垂直製表符、水平製表符或任何其他預定義指定的字符 |
tolower() | 若參數是大寫字母,返回相應的小寫字母,否則返回原始參數 |
toupper() | 若參數是小寫字母,返回相應的大寫字母,否則返回原始參數 |
字符函數Visual FoxPro
字符函數宏代換函數
&<字符型內存變量>[.字符表達式]
功能:一是替換字符型內存變量的值,二是將數值型字符轉換為數值型數據。如果該函數與其後的字符無明確分界,則要用“.”作為函數結束標識。
例
C2=”Computer”
C1="2"
C=”c&c1’’
?&C1.2*3,&C
輸出的結果為:66 Computer
字符函數求字符串長度函數
格式如下:
LEN(字符型表達式)
功能:求字符串的長度,即所包含的字符個數。若是空串,則長度為0。函數值為數值型。
例
?LEN(”計算機學院”),LEN(”我 要 學 習”)
屏幕顯示的結果為:10 11(注意”我 要 學 習”,每個字中間都有一個空格)
字符函數求子串位置函數
格式如下:
AT(<字符型表達式1>,<字符型表達式2>)
ATC(<字符型表達式1>,<字符型表達式2>)
功能:若<字符型表達式1>的值存在於<字符型表達式2>的值中,則給出<字符型表達式1>在<字符型表達式2>中的開始位置,若不存在,則函數值為0。函數值為數值型。ATC函數在子串比較時不區分字母大小寫。
例
?AT(”345”,”123456”),AT(”5”,”12367”)
?AT(”abc”,”ABCDE abcde”),AT(”abc”,”ABDCE abdce”)
輸出的值為:3 0
7 0
字符函數取子串函數
格式如下:
LEFT(<字符型表達式>,<數值型表達式>)
RIGHT(<字符型表達式>,<數值型表達式>)
SUBSTR(<字符型表達式>,<數值型表達式1>[,<數值型表達式2>])
功能:LEFT函數從字符型表達式左邊的第一個字符開始截取子串,RIGHT函數從字符型表達式右邊的第一個字符開始截取子串。若數值型表達式的值大於0,且小於等於字符串的長度,則子串的長度與數值型表達式值相同。若數值型表達式的值大於字符串的長度,則給出整個字符串。若數值型的表達式小於或等於0,則給出一個空字符串。
SUBSTR函數對字符型表達式從指定位置開始截取若干個字符。起始位置和字符個數分別由數值型表達式1和數值型表達式2決定。若字符個數省略,或字符個數多於從起始位置到原字符串尾部的字符個數,則取從起始位置起,一直到字符串尾的字符串作為函數值。若起始位置或字符個數為0,則函數值為空串。顯然SUBSTR函數可以代替LEFT函數和RIGHT函數的功能。
例
STORE”GOOD BYE!”TO X
?LEFT(x,2),SUBSTR(x,6,2),SUBSTR(x,6),RIGHT(x,3)
輸出的函數值為:GO BY BYE! YE!
字符函數刪除字符串前後空格函數
格式如下:
LTRIM(<字符型表達式>)
RTRIM(<字符型表達式>)
ALLTRIM(<字符型表達式>)
功能:
LTRIM刪除字符串的前導空格。
RTRIM刪除字符串的尾部空格。RTRIM也可寫成TRIM。
ALLTRIM刪除字符串中的前導和尾部空格。ALLTRIM函數兼有LTRIM和RTRIM函數的功能。
例
STORE SPACE(2)+”TEST”+SPACE(3) TO SS &&SPACE()為產生空格函數
?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)
?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS))
輸出的結果為:
TESTTEST TEST
9 6 7 4
字符函數生成空格函數
格式如下:
SPACX(<數值型表達式>)
功能:生成若干個空格,空格的個數由數值型表達式的值決定。
例
name=SPACE(8)&&等效為變量name為字符型變量,變量值為8個空格
?LEN(LTRIM(name))
&&先用函數LTRIM()刪除了變量NAME的空格,再求該函數的長度,故屏幕輸出的值為0
字符函數字符串替換函數
格式如下:
STUFF(<字符型表達式1>,<數值型表達式1>,<數值表達式2>,<字符型表達式2>)
功能:用<字符型表達式2>去替換<字符型表達式1>中由起始位置開始所指定的若干個字符。起始位置和字符個數分別由數值型表達式1和數值型表達式2指定。如果字符型表達式2的值是空串,則字符型表達式1中由起始位置開始所指定的若干個字符被刪除。
例
STORE’中國重慶’ TO x
?STUFF(x,6,4,’北京’),STUFF(X,5,0,”北京”),STUFF(X,5,10,”北京”)
屏幕輸出為:中國 北京 中國北京 重慶 中國北京
字符函數產生重複字符函數
格式如下:
REPLICATE(<字符型表達式>,<數值型表達式>)
功能:重複給定字符串若干次,次數由數值型表達式給定。
例
?REPLICATE(‘*’,6) &&屏幕輸出為:******
字符函數大小寫字母轉換函數
格式如下:
LOWER(<字符型表達式>)
UPPER(<字符型表達式>)
功能:LOWER將字符串中的大寫字母轉換成小寫。
UPPER將字符串中的小寫字母轉換成大寫。
例
a =”ABcd’’
?UPPER(a),LOWER(“a”)
輸出的函數值為:ABCD abcd
在字符串中,同一字母的大小寫為不同字符,如果利用大小字母轉換函數,就可以不考慮字符串中的字母是大寫還是小寫。
字符函數計算字串出現次數函數
格式如下:
OCCURS(<宇符型表達式1>,<字符型表達式2>)
功能:OCCURS()函數返回第一個字符串在第二個字符串中出現的次數,如果第一個字符串不是第二個字符串的子串,則函數值為0。
例
?OCCURS(”R”,”PRTOUTR”) &&輸出的結果為:2
字符函數字符串匹配函數
格式如下:
LIKE(<字符型表達式1>,<字符型表達式2>)
功能:LIKE()函數比較兩個字符串對應位置上的字符,如果所有對應字符都匹配,函數返回邏輯值(.T.),否則返回邏輯值(.F.)。
例
?LIKE(”XY*”,”XYZ”)
輸出的結果為:.T.
字符函數Linux
函數名 | 功能 |
---|---|
isalnum | 測試字符是否為英文或數字 |
isalpha | 測試字符是否為英文字母 |
isascii | 測試字符是否為ASCII碼字符 |
isentrl | 測試字符是否為ASCII碼的控制字符 |
isdigit | 測試字符是否為阿拉伯數字 |
islower | 測試字符是否為小寫字母 |
isprint | 測試字符是否為可打印字符 |
isspace | 測試字符是否為空格字符 |
ispunct | 測試字符是否為標點符號或特殊符號 |
isupper | 測試字符是否為大寫英文字母 |
isxdigit | 測試字符是否為十六進制數字 |
例:從鍵盤讀入一行字符,測試讀入字符是否為大寫字符。
操作步驟
步驟1編輯源程序代碼。
[root@localhost root]#vim 4-4.c
程序代碼如下:
#include”stdio.h”
#include<ctype.h>
main()
{
char c;
while((c=getchar())!=飛Ir)
if(isupper(c))
printf(”%c is an uppercase character\n”,c);
}
步驟2用gcc編譯程序。
接着用gcc的“一o”參數,將4—4.C程序編譯成可執行文件4—4,輸入如下:
[root@localhost root]#gce 4-4.c —O 4-4
步驟3運行程序。
編譯成功後,執行可執行文件4—4,輸入字符串“f956GFyffUTR57”,此時系統會出現運行
結果,終端中的顯示如下:
[root@localhost root]#./4—4
f956GFyffUTR57
G is an uppercase character
F is an uppercase character
U is an uppercase character
T is an uppercase character
R is an uppercase character
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:1次歷史版本
- 最近更新: w_ou