关于网友提出的“ 有没有一个函数:将一个字符串中的字符分开保存到一个字符串数组里。 今晚揭帖”问题疑问,本网通过在网上对“ 有没有一个函数:将一个字符串中的字符分开保存到一个字符串数组里。 今晚揭帖”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 有没有一个函数:将一个字符串中的字符分开保存到一个字符串数组里。 今晚揭帖
描述: 就像vbscript 里的Split函数一样。
Dim MyString, MyArray, Msg
MyString = "VBScriptXisXfun!"
MyArray = Split(MyString, "x", -1, 1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
Msg = MyArray(0) & " " & MyArray(1)
Msg = Msg & " " & MyArray(2)
MsgBox Msg
---------------------
其他的操作方法也行啊
解决方案1: 用不了那么麻烦。用一个TSTRINGS
设置commad……char:='x',comma开头的就两个,那一个就是设置分割的字符的
然后设置TSTRINs.commatext=MyString
这样,你TStrings里的就是分割后的字串了,还不用数组保存
解决方案2: MyString = "VBScriptXisXfun!"
//MyString[1] ='V'
//MyString[2] ='B'
//MyString[3] ='S'
//MyString[4] ='c'
//...
解决方案3: {********************************************
函数功能: 分割函数
入口参数: str --需分割的字符传
ctrl --分割字符
num --数组
出口数据: 分割后为数组
需定义num为integer
********************************************}
function split(str:string;ctrl:char;var num:integer):strings;
var
i:integer;
begin
num:=0;
setlength(result,255);
i:=pos(ctrl,str);
while(i<>0) do
begin
result[num]:=copy(str,1,i-1);
delete(str,1,i);
inc(num);
i:=pos(ctrl,str);
end;
result[num]:=str;
inc(num);
setlength(result,num);
end;
//////例子
type
strings = array of string;
var
ss:string;
s:strings;
i,n:integer;
begin
ss:='1;2;3';
s:=split(ss,';',i);
for n:=0 to high(s) do
showmessage(s[n]);
end;
解决方案4: //参考如下代码
var
I: Integer;
S: string;
begin
with TStringList.Create do try
Delimiter := 'X';
DelimitedText := 'VBScriptXisXfun!';
S := '';
for I := 0 to Count - 1 do
S := S + ' ' + Strings[I];
finally
Free;
end;
Delete(S, 1, 1);
ShowMessage(S);
end;
以上介绍了“ 有没有一个函数:将一个字符串中的字符分开保存到一个字符串数组里。 今晚揭帖”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2480434.html