zoukankan      html  css  js  c++  java
  • Delphi判断字符串中是否包含汉字,并返回汉字位置

    //1,函数代码
    {

    判断字符串是否包含汉字
    // judgeStr:要判断的字符串
    //posInt:第一个汉字位置
    }
    function TForm2.IsHaveChinese(judgeStr: string; var posInt: integer): boolean;
    var
    p: PWideChar; // 要判断的字符
    count: integer; // 包含汉字位置
    isHave: boolean; // 是否包含汉字返回值
    begin

    isHave := false; // 是否包含汉字返回值默认为false
    count := 1; // 包含汉字位置默认为1

    p := PWideChar(judgeStr); // 把要判断字符串转换

    // 循环判断每个字符
    while p^ <> #0 do
    begin
    case p^ of
    #$4E00 .. #$9FA5:
    begin
    isHave := true; // 设置是否包含汉字返回值为true
    posInt := count; // 设置包含汉字位置
    break; // 退出循环
    end;

    end;

    Inc(p);
    Inc(count); // 包含汉字位置递增
    end;

    result := isHave;
    end;


    //2,例子:

    procedure TForm2.Button3Click(Sender: TObject);
    var
    testStr1, testStr2: string;
    posInt: integer;
    begin
    testStr1 := '12345';
    testStr2 := '123汉字45';

    if self.IsHaveChinese(testStr1, posInt) = true then
    begin
    ShowMessage(testStr1 + ' 包含汉字 :' + inttostr(posInt));
    end
    else
    begin
    ShowMessage(testStr1 + ' 不包含汉字');
    end;

    if self.IsHaveChinese(testStr2, posInt) = true then
    begin
    ShowMessage(testStr2 + ' 包含汉字 :' + inttostr(posInt));
    end
    else
    begin
    ShowMessage(testStr2 + ' 不包含汉字');
    end;
    end;

     
  • 相关阅读:
    linux 内核配置
    使用 git 下载linux 源码
    订阅 linux 邮件列表注意的问题
    使用反射创建一维数组和二维数组
    反射API
    反射机制
    集合案例--对ArrayList容器中的内容进行排序
    Collections
    TreeSet
    Set容器
  • 原文地址:https://www.cnblogs.com/lrl45/p/5135406.html
Copyright © 2011-2022 走看看