vba 里面的split函数怎么实现多个分隔符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba 里面的split函数怎么实现多个分隔符相关的知识,希望对你有一定的参考价值。

类似字符串"2-14 Cliff Road,Wollongong 2500,New South Wales Australia",我想要用 空格 和 逗号 来拆分字符串。java或其他语言可以用正则/\s|,/g之类的,vba是否可用" |,"之类的,或者没有这种方法。

参考技术A 这函数只能对一个分隔符有效,可先用替换函数把所有需要的分隔符变成一个后再行处理。本回答被提问者采纳

delphi如何按固定的分隔符来分割字符串,并且把分割出来的字符串放到数组中?具体的代码如何实现?

固定的分隔符 就是日期2011-3-17 的 - 来分割字符串,并且把分割出来的字符串放到数组中?具体的代码如何实现?
谢谢: chuxue1342

请问我想取得分割出来的日期是不是直接可以 temp[2]呢?

谢谢 kysxiaoh 我试试看

请问我怎么计算时间差呢?和系统的当前时间来计算时间差 该怎么写呢?

参考技术A 我用C#的,里面有split,我相信delphi里面也有类似的函数:
string str='2011-3-17';
string[] listStr=str.split('-');

-------------------------------------
我找了一下,不知道是delphi里面的系统函数还是人家写,你可以拿去用吧:
//根据字符串,拆分字符串,相当于vb中的split函数
function SplitString(const Source,ch:string):TStringList;
var
temp:String;
i:Integer;
begin
Result:=TStringList.Create;
//如果是空自符串则返回空列表
if Source=''''''''
then exit;
temp:=Source;
i:=pos(ch,Source);
while i<>0 do
begin
Result.add(copy(temp,0,i-1));
Delete(temp,1,i);
i:=pos(ch,temp);
end;
Result.add(temp);
end;

------------------------------------
日期不知道你是取的是哪一部分,应该按顺序来:
temp[0]:2011
temp[1]:3
temp[2]:17
参考技术B Delphi的Tstringlist直接就可以拿来分割了

var
list : TStringlist;
begin
list := TStringlist.Create;
list.Delimiter := '-';
list.DelimitedText := '1987-11-16';

showmessage(list.Strings[0]); //1987
showmessage(list.Strings[1]); //11
showmessage(list.Strings[2]); //16

var
myTime : TDate;
i : integer;
begin
myTime := strToDate('2011-3-17');
i := round((now - mytime)*24*3600); //从myTime到现在经历的秒数 ;本回答被提问者采纳

以上是关于vba 里面的split函数怎么实现多个分隔符的主要内容,如果未能解决你的问题,请参考以下文章

vbasplitrow错误

vba中split()()后面的括号是啥意思

split使用多个分隔符分割字符串

delphi如何按固定的分隔符来分割字符串,并且把分割出来的字符串放到数组中?具体的代码如何实现?

java,split 如何设置多个分隔符?

js的split怎么用。