我有一个字符串Alpha 2
,我需要从中提取整数部分,即2
。
这是一个快速而又肮脏的项目,我目前对学习Pascal不感兴趣。我只需要一个快速的答案!
答案 0 :(得分:2)
对于搜索字符串中第一个数字并将其作为整数返回的方法,请使用以下代码。如果字符串中没有找到数字,它将返回正整数值或-1。
function IntegerInString(s: string) : integer;
var i, state, startPos, endPos : integer;
begin
state := 0;
startPos := -1;
endPos := Length(s);
for i := 1 to Length(s) do
begin
if ((s[i] >= '0') and (s[i] <= '9') then
begin
if state = 0 then startPos := i;
state := 1;
end else
if state = 1 then
begin
endPos := i;
break;
end;
end;
end;
if startPos > -1 then
result := IntToStr(Copy(s, startPos, endPos))
else
result := -1;
end;
答案 1 :(得分:0)
var
sub: string;
i: Integer;
begin
sub := Copy('Alpha 2', 7, 1);
i := StrToInt(sub);
-
const
str = 'Alpha 2';
var
i: Integer;
begin
i := StrToInt(str[7]);
-
var
str: string;
sub: string;
spc: Integer;
i: Integer;
begin
str := 'Alpha 257';
spc := Pos(' ', str);
sub := Copy(str, spc + 1, Length(str) - spc);
i := StrToInt(sub);
如果您不希望在参数不是整数时引发异常,那么还有StrToIntDef。