我有一些字符串为:
adc123
adc456
ddaa555现在我只需要取出
123
456
555
adc123
adc456
ddaa555现在我只需要取出
123
456
555
解决方案 »
- 三国家的沙发真舒服,散分~
- 如何在异常情况下执行我的要执行的代码????
- 怎样用delphi编写类似pascal的能输入参数的程序呀?急!!!
- DELPHI +dbcheckbox
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 紧急求助——————QReport打印问题————在线给分
- ★★★★★论坛中给答案不结贴的情况是怎么处理的?★★★★★
- 请问如何在delphi中取出当前的年份和月份,谢谢先
- 用SQL连接服务器,第一次统计正常,再次统计就混乱
- 如何在delphi里嵌套汇编?急!???。。。。。。。。。。。。。
- 问个超简单的问题,高手来抢分!~
- delphi中如何让画布实时显示系统时间?
或者用stringreplace把字母替换成''
I, J: Integer;
S, T: string;
C: Char;
begin
{本例子只能去楼主指定格式的字符, 假设楼至指定的字符在 Memo1 中}
for J := 0 to Memo1.Lines.Count - 1 do
begin
S := Memo1.Lines.Strings[J];
T := '';
for I := 1 to Length(S) do
begin
C := S[I];
if (C in ['0' .. '9']) then
T := T + C;
end;
Memo1.Lines.Add(T)
end;
end;
如果遇到第一个数字,截去后面部分,可以这样:
for i := 1 downto length(str) do
begin
if str[i] in ['0'..'9'] then
begin
result := rightstr(str, length(str)-i+1);
break;
end;
end;
function GetNumFromStr(const str: String;const hex:boolean=false): String;
var
i:integer;
charset:Set of char;
begin
if hex then
charset:=['0'..'9','a'..'f','A'..'F','.']
else
charset:=['0'..'9','.'];
for i := 1 to Length(str) do
begin
if (str[i] in charset) then
result:= result + uppercase(str[i]);
end;
end;
s: TStrings;
reg:TPerlRegEx;
i: Integer;
begin
s:=TStringList.Create;
s.Add('adc123');
s.Add('sdsd456');
s.Add('addddaa555');
reg:=TPerlRegEx.Create(nil);
for i:= 0 to s.count -1 do
begin
reg.Subject:= s[i];
reg.regex:='\d{3}';
while reg.MatchAgain do
Memo1.Lines.Add(reg.MatchedExpression);
end;
s.Free;
reg.Free
end;