Split 函数。
示例:
string str = "12+15";int a = ConvertToInt32(strSplit('+')[0]);
int b = ConvertToInt32(strSplit('+')[1]);
MessageBoxShow((a + b)ToString());
其实不要把函数用的太死了,函数不过是自己定义,或者别人定义的一种,熟练掌握 pos函数,copy函数,这两个函数为基本函数别的可能要加载
var
AStr: string;
ASplit: string;
idx: Integer;
ASubStr: string;
begin
RzMemo1Clear;
AStr := Trim(RzEdit1Text);//输入要分割的字符串
ASplit := ',';//分割的字符
while Pos(ASplit, AStr) > 0 do
begin
idx := Pos(ASplit, AStr);
ASubStr := Copy(AStr, 1, idx - 1);
RzMemo1LinesAdd(ASubStr);
AStr := Copy(AStr, idx + 1, Length(AStr));
end;
if Trim(AStr) <> '' then
RzMemo1LinesAdd(AStr);
end;
这个很简单 用mid函数就行了
Private Sub Command1_Click()Dim arr() As String
Dim a As String
Dim i As Integer
a = "abcdef"
ReDim arr(Len(a)) '重新定义数组长度为字符串长度
For i = 1 To Len(a) '在字符串内循环
arr(i) = Mid(a, i, 1) '利用mid函数分割字符串并赋值到数组
Print arr(i) '输出分解的字符 测试用 可删掉
Next i
End Sub
strtok()函数并不像你想的那样可以一次切割字串。需要多次循环,第二次时需要用 p = strtok(NULL, " "); 这样的 形式。
void main()
{ char test1[] = "Hello C World";
char p;
p = strtok(test1, " ");
while(p)
{
printf("%s\n", p);
p = strtok(NULL, " ");
}
return 0;
}
运行结果:
Hello
C
World
C/C++中的Split函数是strtok()其函数原型如下:
char strtok (char str, const char delimiters);
函数说明
strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值
返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
示例-1
/ strtok example /
#include <stdioh>
#include <stringh>
int main ()
{
char str[] ="a,b,c,de";
const char split = ",";
char p;
p = strtok (str,split);
while(p!=NULL) {
printf ("%s\n",p);
p = strtok(NULL,split);
}
getchar();
return 0;
}
本例中,实现对字符串'a,b,c,de"用逗号(,)来作界定符对字符串进行分割。
输出结果将如下所示:
a
b
c
de
因为delimiters支持多个分割符, 我们将本示例中的语句行
const char split = ",";
改成 const char split = ","; //用逗号(,)和星号()对字符串进行分割
这样输出结果将如下所示:
a
b
c
d
e
thinkphp没有分割字符串,有截取字符串
php自带函数可以分割字符串如下:
explode(separator,string,limit)
separator 必需。规定在哪里分割字符串。
string 必需。要分割的字符串。
limit 可选。规定所返回的数组元素的最大数目。
$text="1,2,3";$lines = explode(",", $text);//这里使用逗号分隔
$string = "Hello world Beautiful day today";
$str= explode(" ", $string );//使用空格分隔
strtok(string,split)
string 必需。规定要分割的字符串
split 必需。规定一个或多个分割字符。
$string = "Hello world Beautiful day today";$token = strtok($string, " ");//用空格分隔
str_split(string,length)
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。
print_r(str_split("Hello"));
thinkphp自带截取字符串如下:
对于英文字符可使用如下形式:
{$votitle|substr=0,5}如果是中文字符thinkphp提供了msubstr,用法如下:
function msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)//使用如下{$votitle|msubstr=5,5,'utf-8′,true}
msubstr函数说明如下:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)