【问题标题】:How to convert one character from a string to a char in delphidelphi中如何将字符串中的一个字符转换为char
【发布时间】:2012-06-06 21:29:10
【问题描述】:

我有一个字符串,我想从中提取一个需要在Case 语句中使用的字符。问题是 Case 只接受 Char 值而不是字符串值。那么如何将单个字符串字符转换为字符呢?

【问题讨论】:

    标签: string delphi char delphi-xe2 case


    【解决方案1】:

    将字符串用作字符数组(从 1 开始),并在 case 语句中使用要使用的字符的索引。例如,如果你想使用第一个字符:

    case MyString[1] Of
    // ...
    end;
    

    请确保在使用下标之前检查字符串是否至少具有该长度,否则您将遇到访问冲突。

    【讨论】:

    • 如果您的个人代码库中有一个签名如下的函数,请举手:function StrToChar(const S: string; Index: Integer = 1; Default: Char = ' '): Char;
    • 不错的编辑,我做 C# 和 Delphi,总是以基于 0 和 1 的心理障碍告终,每次切换时都必须检查
    • 最短的是:c := Copy(s + ' ', 1, 1)[1];
    【解决方案2】:

    由于stringmobile platforms 的基础上变为0,因此还有一种始终安全的方法可以从单字符串中获取字符。

    myString[Low(myString)]
    

    【讨论】:

      【解决方案3】:

      由于 delphi 成为跨平台,我将使用基于 0 的字符串访问,使用单元外的 TStringHelperSystem.SysUtils

      case MyString.Chars(0) Of
      // ...
      end;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-14
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        • 2012-02-07
        • 1970-01-01
        相关资源
        最近更新 更多