• excel中利用综合应用len(),lenb(),left() ,find()函数筛选汉字问题


    函数功能及结构介绍:

    1.LEN 返回文本串的字符数。
    Len( text)   Len(string | varname)   
    Len 函数的语法有下面这些部分:
    string 任何有效的字符串表达式。如果 string 包含 Null,会返回 Null。
    Varname 任何有效的变量名称。如果 varname 包含 Null,会返回 Null。如果 varname 是 Variant,Len 会视其为 String 并且总是返回其包含的字符数。
    2.lenb 返回文本串的字节数

    3.find函数的语法格式

    =find(find_text,within_text,start_num)

    Find(要查找的文本,文本所在的单元格,从第几个字符开始查找[可选,省略默认为1,从第一个开始查找])。

    4.LEFT(text,num_chars)Text 是包含要提取字符的文本字符串。Num_chars 指定要由 LEFT 所提取的字符数。Num_chars 必须大于或等于 0。如果 num_chars 大于文本长度,则 LEFT 返回所有文本。如果省略 num_chars,则假定其为 1。

    如下图所示,在excel 要将text列中的所有的非hardcode去掉,所谓hardcode 即代码中直接用了中文,但是"引号是abap代码中的注释,因此注释中含中文则不算hardcode,我们要做的就是把纯hardcore筛选出来,然后分发给相关的开发人员去修改。

    为了实现上面的功能,综合使用了几个excel中的函数,如下:

    =IF(LEN(LEFT(A2,FIND("""",A2)-1))=LENB(LEFT(A2,FIND("""",A2)-1)),0,1)

    对该公式的解释:

    1,首先利用find函数找出"在字符串中的位置,如果一个字符串中有多个",则find函数返回第一个"出现的位置, 即 FIND("""",A2),如果压根就不存在",则会出现#value

    2,利用left 函数将" 左边的字符串截取出来,即LEFT(A2,FIND("""",A2)-1)

    3,用len,lenb分别判断第二步截取的字符串的字符数以及字节数,用if函数判断,若相等则说明"左边全是非中文的字符,用0标记,说明不存在hardcode;若不等则说明"左边存在中文字符,用1标记,说明存在hardcore。即=IF(LEN(LEFT(A2,FIND("""",A2)-1))=LENB(LEFT(A2,FIND("""",A2)-1)),0,1)

    至此,我们在type列将得到三种不同的值,即0,1,#value。其中,type 为0的为非hardcore,我们应该删除,为1和#value为hardcore,我们应该取出来发给相关的开发去修改。

     

  • 相关阅读:
    COM编程-注册DLL形式的COM服务器
    控制台console使用MFC库函数,Cout输出CString的方法
    [C#]窗体切换--避免开启多个线程
    OpenCV配置使用版
    Dependency Walker使用说明
    TCP粘包和半包的处理方法
    GENERATED_UCLASS_BODY 和 GENERATED_BODY 区别
    c++ 的 坑真多之头文件
    Introduction to replication 翻译
    c++ 的 static_cast
  • 原文地址:https://www.cnblogs.com/yorke/p/6216509.html
Copyright © 2020-2023  润新知