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 我试试看
请问我怎么计算时间差呢?和系统的当前时间来计算时间差 该怎么写呢?
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函数怎么实现多个分隔符的主要内容,如果未能解决你的问题,请参考以下文章