在 Delphi 编译器和 FPC 中如何在 Object Pascal 中查找字符是字母数字还是下划线?

How in Object Pascal find whether a character is alphanumeric or underscore working in both Delphi compiler and FPC?

互联网上到处都是类似或相同的问题,但答案对我不起作用。我们开发多平台产品,它在 Delphi 的编译器和 FPC 下编译。 首先,我使用了:

Uses:
  System.Character;

Character.TCharacter.IsLetterOrDigit(..)

,但在FPC下无法编译,所以根据其他资料,我使用:

Uses:
  Character;

TCharacter.IsLetterOrDigit(..)

反之,但还是不能在FPC下编译。

有人能找到一种方法使代码在 Delphi 编译器和 FPC 上都能工作吗?我没有设置 FPC 来处理我的项目,所以我无法自己弄清楚如何修复代码以在 FPC 中工作(我只能通过构建服务器以复杂的方式测试它)并且可以'找不到方法,怎么做。

我也想用正则表达式写,但是同事说,这对他们来说太复杂了。

Delphi 和 FPC 都包含一个名为 TCharacter 的 class,它公开了一个名为 IsLetterOrDigit 的方法。换句话说,你的问题前提是错误的。使用 TCharacter.IsLetterOrDigit.

是完全合理的

文档链接:

您使用的 FPC 版本完全有可能已过时,这可以解释您的代码失败的原因。尽管这是猜测,因为您没有包含错误消息的任何详细信息。