怎样取这样的一个字符串!(24分)

  • 主题发起人 主题发起人 maysoft
  • 开始时间 开始时间
M

maysoft

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样取这样的一个字符串:xxxxx2005……,怎样取出2005以后的字符串(包括2005),2之前的所有字符都不要,不管前面有多少个字符!怎么办?
 
用Pos找出'2005'的位置,然后用Delete或Copy都可以
 
如果‘2005’是固定的,赞同楼上。
 
不一定是2005,也可以是其它年份!但是长度都是4!
 
TDateTimePicker控件,<br>&nbsp; edit1.text:=dateTostr(Form1.TDateTimePicker.date)想得到返回值为日期.<br>可是返回值包括时间。如何取出日期值,用什么函数?
 
要是这个年份值有一个下限就有解决方法,或之前的字符没有连着的数字就有办法。<br>每次都取四个字符用StrToInt转成Integer,看是否大于某各下限。
 
str:='********2005*********';<br>sub:='2005';<br>i:=pos(str,sub);<br>if i&gt;0 then <br>result:=copy(str,i,Length(str));
 
procedure SeparateTerms(s : string;Separator : char;Terms : TStringList);<br>&nbsp; var<br>&nbsp; hs : string;<br>&nbsp; p : integer;<br>begin<br>&nbsp; Terms.Clear;<br>&nbsp; if Length(s)=0 then <br>&nbsp; &nbsp; Exit;<br>&nbsp; p:=Pos(Separator,s);<br>&nbsp; while P&lt;&gt;0 do<br>&nbsp; begin<br>&nbsp; &nbsp; hs:=Copy(s,1,p-1); <br>&nbsp; &nbsp; Terms.Add(hs); <br>&nbsp; &nbsp; Delete(s,1,p); <br>&nbsp; &nbsp; p:=Pos(Separator,s);<br>&nbsp; end;<br>&nbsp; if Length(s)&gt;0 then<br>&nbsp; &nbsp; Terms.Add(s); <br>end;<br><br><br>这个函数,以2来分界,再COPY(2后面的STR,4,(length(str)-3)
 
要看年份前的字符串<br>如果没有数字(至少没有四个连续数字)则可以用以下方法实现<br>procedure TForm1.Button1Click(Sender: TObject);<br>function IsInteger(value:String):Boolean;<br>begin<br>&nbsp; result:=True;<br>&nbsp; try<br>&nbsp; &nbsp; strtoint(value);<br>&nbsp; except<br>&nbsp; &nbsp; result:=False;<br>&nbsp; end;<br>end;<br>var<br>&nbsp; Str1:String;<br>&nbsp; i:integer;<br>begin<br>&nbsp; str1:='sdfsad343er2004sdfa3333zdf';<br>&nbsp; if length(Str1)=0 then exit;<br>&nbsp; for i:=1 to length(Str1) do<br>&nbsp; begin<br>&nbsp; &nbsp; if str1 in ['0'..'9'] then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; if IsInteger(copy(str1,i,4)) then<br>&nbsp; &nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; &nbsp; showmessage(copy(str1,i,Length(Str1)-i+1));<br>&nbsp; &nbsp; &nbsp; &nbsp; break;<br>&nbsp; &nbsp; &nbsp; end;<br>&nbsp; &nbsp; end;<br>&nbsp; end;<br>end;
 
Copy(S,Pos('2005',S),Len(S)-Pos('2005',S))
 
来自:代号, 时间:2004-1-11 19:24:00, ID:2405402<br>TDateTimePicker控件,<br>&nbsp;edit1.text:=dateTostr(Form1.TDateTimePicker.date)想得到返回值为日期.<br>可是返回值包括时间。如何取出日期值,用什么函数? &nbsp;<br>edit1.text:=Formatdatetime('yyyy',Form1.TDateTimePicker.date)
 
谢谢各位,让我学到不少。
 
edit.text:=formatdatetime('yyyy-mm-dd',form1.Tdatetimepicker.date);<br>
 
后退
顶部