c中split的用法你知道嗎?下面我就跟你們?cè)敿?xì)介紹下c中split的用法,希望對(duì)你們有用。
在吉陽(yáng)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營(yíng)銷(xiāo)網(wǎng)站建設(shè),外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),吉陽(yáng)網(wǎng)站建設(shè)費(fèi)用合理。
c中split的用法如下:
1、用字符串分隔:
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "br");
輸出結(jié)果:
aaa
bbb
ccc
2、用多個(gè)字符來(lái)分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2] {'j','s'});
foreach(string i in sArray) Response.Write(i.ToString() + "br");
輸出結(jié)果:
aaa
bbb
ccc
ddd
eee
3、用單個(gè)字符來(lái)分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "br");
輸出結(jié)果:
aaa
bbb
ccc
////////////////////////////////////////////////
string[] arr = str.Split("o");
這是一個(gè)具有語(yǔ)法錯(cuò)誤的語(yǔ)句,Split 的 separator 參數(shù)應(yīng)該是 char[] 或 string[],不應(yīng)是字符串。正確的示例:
string str = "technology";
char[] separator = { 'o' };
string[] arr = str.Split(separator);
////////////////////////////////////////////////////
String.Split 方法有6個(gè)重載函數(shù):
程序代碼
1) public string[] Split(params char[] separator)
2) public string[] Split(char[] separator, int count)
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)
下邊我們通過(guò)一些實(shí)例來(lái)說(shuō)明下怎么使用(以下string words = "1,2.3,,4";):
1. public string[] Split(params char[] separator)
程序代碼
string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}
2. public string[] Split(char[] separator, int count)
程序代碼
string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}
3. public string[] Split(char[] separator, StringSplitOptions options)
程序代碼
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
4. public string[] Split(string[] separator, StringSplitOptions options)
程序代碼
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
5. public string[] Split(char[] separator, int count, StringSplitOptions options)
程序代碼
string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
6. public string[] Split(string[] separator, int count, StringSplitOptions options)
程序代碼
string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
需要注意的是沒(méi)有重載函數(shù)public string[] Split(string[] separator),所以我們不能像VB.NET那樣使用words.Split(","),而只能使用words.Split(',')
#include?stdio.h
#include?string.h
//?將str字符以spl分割,存于dst中,并返回子字符串?dāng)?shù)量
int?split(char?dst[][80],?char*?str,?const?char*?spl)
{
int?n?=?0;
char?*result?=?NULL;
result?=?strtok(str,?spl);
while(?result?!=?NULL?)
{
strcpy(dst[n++],?result);
result?=?strtok(NULL,?spl);
}
return?n;
}
int?main()
{
char?str[]?=?"what?is?you?name?";
char?dst[10][80];
int?cnt?=?split(dst,?str,?"?");
for?(int?i?=?0;?i??cnt;?i++)
puts(dst[i]);
return?0;
}
Split函數(shù)
描述
返回一個(gè)下標(biāo)從零開(kāi)始的一維數(shù)組,它包含指定數(shù)目的子字符串。
語(yǔ)法
Split(expression[, delimiter[, count[, compare]]])
Split函數(shù)語(yǔ)法有如下幾部分:
部分 描述
expression 必需的。包含子字符串和分隔符的字符串表達(dá)式 。如果expression是一個(gè)長(zhǎng)度為零的字符串(""),Split則返回一個(gè)空數(shù)組,即沒(méi)有元素和數(shù)據(jù)的數(shù)組。
delimiter 可選的。用于標(biāo)識(shí)子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。如果delimiter是一個(gè)長(zhǎng)度為零的字符串,則返回的數(shù)組僅包含一個(gè)元素,即完整的expression字符串。
count 可選的。要返回的子字符串?dāng)?shù),–1表示返回所有的子字符串。
compare 可選的。數(shù)字值,表示判別子字符串時(shí)使用的比較方式。關(guān)于其值,請(qǐng)參閱“設(shè)置值”部分。
設(shè)置值
compare參數(shù)的設(shè)置值如下:
常數(shù) 值 描述
vbUseCompareOption –1 用Option Compare語(yǔ)句中的設(shè)置值執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進(jìn)制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access。基于您的數(shù)據(jù)庫(kù)的信息執(zhí)行比較。
示例
下面的示例演示如何在字符串的空格處拆分該字符串。
Dim TestString As String = "Look at these!"
' 返回的數(shù)組包含 "Look", "at", and "these!".
Dim TestArray() As String = Split(TestString)