Delphi字母串中如何移除所有数字?

2026-04-10 21:432阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计376个文字,预计阅读时间需要2分钟。

Delphi字母串中如何移除所有数字?

我有字符串,设置了字母选择的坐标,但有时它们会混淆,我用数字询问坐标,例如105DYUDXB28DYU13完成DYUDXBDYU怎么办?

+tmpT.Put:=Trim(MidStr(S,8,6))+Trim(MidStr(S,37,3));+具有良好的性能

我有一个字符串,我设置了字母选择的坐标,但有时它们会混淆,我用数字询问坐标,如果例如’105DYUDXB28DYU13’完成’DYUDXBDYU’怎么办?

tmpT.Put:=Trim(MidStr(S,8,6))+Trim(MidStr(S,37,3));

具有良好性能的解决方案如下(使用Character):

function RemoveNumbers(const AString: string): string; var i, j: integer; begin SetLength(result, AString.Length); j := 0; for i := 1 to AString.Length do if not AString[i].IsDigit then begin inc(j); result[j] := AString[i]; end; SetLength(result, j); end;

此函数使用Delphi 7之后引入的一些语言和库功能.要在Delphi 7中使用它,您需要稍微重写它:

function RemoveNumbers(const AString: string): string; var i, j: integer; begin SetLength(result, Length(AString)); j := 0; for i := 1 to Length(AString) do if not (AString[i] in ['0'..'9']) then begin inc(j); result[j] := AString[i]; end; SetLength(result, j); end;

精细打印:TCharHelper.IsDigit支持Unicode,因此它将为所有Unicode数字返回true.例如,它将返回true

> 3(U 0663:阿拉伯语 – 指数数字三),
> 4(U 0A6A:GURMUKHI DIGIT FOUR),
> 5(U 0BEB:TAMIL DIGIT FIVE),
> 5(U 17E5:KHMER DIGIT FIVE),和
> U(U 1817:MONGOLIAN DIGIT SEVEN).

如果您只想将字符’0’…’9’视为数字,则可以使用Delphi 7测试的现代化版本:

Delphi字母串中如何移除所有数字?

if not CharInSet(AString[i], ['0'..'9']) then

标签:数字

本文共计376个文字,预计阅读时间需要2分钟。

Delphi字母串中如何移除所有数字?

我有字符串,设置了字母选择的坐标,但有时它们会混淆,我用数字询问坐标,例如105DYUDXB28DYU13完成DYUDXBDYU怎么办?

+tmpT.Put:=Trim(MidStr(S,8,6))+Trim(MidStr(S,37,3));+具有良好的性能

我有一个字符串,我设置了字母选择的坐标,但有时它们会混淆,我用数字询问坐标,如果例如’105DYUDXB28DYU13’完成’DYUDXBDYU’怎么办?

tmpT.Put:=Trim(MidStr(S,8,6))+Trim(MidStr(S,37,3));

具有良好性能的解决方案如下(使用Character):

function RemoveNumbers(const AString: string): string; var i, j: integer; begin SetLength(result, AString.Length); j := 0; for i := 1 to AString.Length do if not AString[i].IsDigit then begin inc(j); result[j] := AString[i]; end; SetLength(result, j); end;

此函数使用Delphi 7之后引入的一些语言和库功能.要在Delphi 7中使用它,您需要稍微重写它:

function RemoveNumbers(const AString: string): string; var i, j: integer; begin SetLength(result, Length(AString)); j := 0; for i := 1 to Length(AString) do if not (AString[i] in ['0'..'9']) then begin inc(j); result[j] := AString[i]; end; SetLength(result, j); end;

精细打印:TCharHelper.IsDigit支持Unicode,因此它将为所有Unicode数字返回true.例如,它将返回true

> 3(U 0663:阿拉伯语 – 指数数字三),
> 4(U 0A6A:GURMUKHI DIGIT FOUR),
> 5(U 0BEB:TAMIL DIGIT FIVE),
> 5(U 17E5:KHMER DIGIT FIVE),和
> U(U 1817:MONGOLIAN DIGIT SEVEN).

如果您只想将字符’0’…’9’视为数字,则可以使用Delphi 7测试的现代化版本:

Delphi字母串中如何移除所有数字?

if not CharInSet(AString[i], ['0'..'9']) then

标签:数字