• 几个字符串处理函数


    经常要用到一些字符串的处理函数,前段时间写过一些,这里再补充几个,虽然简单,但用的时候一时想不起来就要自己重写一个也是比较浪费时间的事。
    Global类里有几个字符串处理的静态方法,可以全局调用的。
    strLFix,strRFix,strRep
    这两个函数可以用做用特定的字符补齐的函数,不满多少位的时候就用特定的字符补齐,比如数字如果不满三位就用前置0或者后置0补齐。如果想在前面用0补齐,就用strRFix,如果想在后面用0补齐,就用strLFix。看看代码吧:
    当数字长度不满足三位的时候就用前置0补齐,比如3就补齐成003,如果是13就补齐成013,如果是130就保持不变。
    static void strRFixDemo(Args _args)
    {
        ;
        print strRFix(
    '3',3,'0');
        print strRFix(
    '13',3,'0');
        print strRFix(
    '130',3,'0');
     
        pause;

    }
    第一个参数是要处理的字符串,第二个参数是要把字符串补齐到多少位,第三个参数是用哪个字符补齐。
    如果要处理的字符串的长度比第二个参数大的话,会怎么处理那?我们看一下这个方法的源代码吧:
    static str strRFix(str _str, int _length, char _char = ' ')
    {
        
    return strrep(_char, _length - strlen(_str)) + substr(_str, 1, _length);
    }
    substr这个函数很容易理解就是取字符串的一部分,而strRep这个方法是什么?在很多语言里,这个方法是字符串替换函数,即用指定的字符串替换换字符串中部分内容,但在AX里用strReplace这个函数来实现这个功能,strRep这个函数实际上是复制的功能,Rep我想应该是Replicate的缩写,比如如下代码:
    static void strRepDemo(Args _args)
    {
        ;
        print strRep(
    "Hello World",2);
        pause;
    }
    的输出为HelloWorld HelloWorld,第二个参数是复制次数的意思,这里指定为2,所以把源字符串复制了2遍。
    于是我们不难看出,strRFix实际上由两部分组成strRep和subStr,如果调用strRFix函数时第二个参数的长度比源字符串的长度短的话,显然strRep的第二个参数就是负数了,这样该函数返回为空,而只有subStr返回值,这样实际上就等效于subStr了,只不过是从源字符串左边开始截取的。
  • 相关阅读:
    html页面模板布局内容的继承,block
    url分发
    显示年月,注册页面和后台数据交互,不涉及数据库
    static文件夹中文件引用方式,如html页面引用js
    pycharm写django之返回一个页面
    pycharm编写django第一步
    VUE清除keepalive页面缓存
    js设置html根节点的style字体【Vue动态调整全局字体大小】
    npm 依赖重新安装或更新版本
    antd 自定义表头slots.title不生效
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/1241440.html
Copyright © 2020-2023  润新知