精华内容
下载资源
问答
  • SQL 从字符串提取数字

    千次阅读 2020-05-11 19:49:09
    --patindex函数返回所查内容在字符串中第一次出现的内容print patindex('%在%',@Name) --此处会返回3 print patindex('%[0-9]%',@Name) --此处会返回4 --STUFF函数删除指定长度的字符在指定的起始点插入另一组字符...

     

    一基础使用:

    --声明一个nvarchar类型的变量并赋值
    declare @Name nvarchar(50)
    set @Name='我正在123学.习22.SQL中11.的一些函数'

    --patindex函数返回所查内容在字符串中第一次出现的内容
    print patindex('%在%',@Name) --此处会返回3

    print patindex('%[0-9]%',@Name) --此处会返回4


    --STUFF函数删除指定长度的字符在指定的起始点插入另一组字符
    --格式 stuff(parameter,startindex,length,insertstr)
    --个人意思:是将parameter中索引从startindex开始长为length的字符串替换为insertstr
    print stuff(@Name,1,1,'被插') --此处会输出:被插正在123学.习22.SQL中11.的一些函数

    print stuff(@Name,3,4,'被插') --此处会输出:我正被插学.习22.SQL中11.的一些函数

    --只提取数字
    while patindex('%[^0-9]%',@Name)>0
    begin
    set @Name=stuff(@Name,patindex('%[^0-9]%',@Name),1,'')
    end

    print @Name --此处会输出1232211

     

     

    二、封装方法

    create function dbo.GetNoFromStr(@str nvarchar(100))
      returns bigint
    as
    begin
       while patindex('%[^0-9]%',@str)>0
      begin
      set @str=stuff(@str,patindex('%[^0-9]%',@str),1,'')
      end
      return convert(bigint,@str)
    end

     

    //调用方式

    select dbo.GetNoFromStr('25号')  as  result   //取出数字25

    展开全文
  • 【SAS NOTE】substr字符串提取函数

    千次阅读 2013-01-29 09:29:00
    substr(s,p,n)函数【功能】字符替换与提取字符【类别】 字符函数【语法】1 (right of =) Function,提取字符:Substr(s,p,n)从字符串s中的第p个字符开始提取n个字符的子串。2 (left of =) Function,字符替换:...

    substr(s,p,n)函数
    【功能】字符替换与提取字符
    【类别】 字符函数
    【语法】
    1 (right of =) Function,提取字符:Substr(s,p,n)从字符串s中的第p个字符开始提取n个字符的子串。
    2 (left of =) Function,字符替换:Substr(s,p,n)=characters-to-replace,从变量s的p个字符开始替换n个字符

    展开全文
  • 4.字符串解构5.函数参数的解构赋值6.用途6.1 交换变量的值6.2 从函数中返回多个值6.3 函数参数的定义(也叫传参) 1.什么是解构 ES6中,按照一定的模式,数组或对象中提取值,对变量进行赋值。这个过程叫做解构赋值...

    1.什么是解构

    ES6中,按照一定的模式,从数组或对象中提取值,对变量进行赋值。这个过程叫做解构赋值。

    2.数组解构

    const arr = ["诺手", "蝎子", "劫", "EZ", "女坦"];
         let nuo = arr[0];
         console.log(nuo);//诺手
        //ES6---------------------------
      /  let [nuo, lailai, jie, ez, f] = arr;let [nuo,lailai,jie,ez,f] = ["诺手","蝎子","劫","EZ","女坦"];
      /  console.log(nuo);诺手
    

    本质上,这种写法属于“模式匹配”。只要赋值号两边的模式相同,左边的变量就会被赋予对应的值。

    let [a,[b,c]] = [1,[2,3]];
    console.log(b);//2
    let [a,,b] = [1,2,3];
    console.log(b);//3
    

    不完全解构(赋值号两边不是完全相等的。)

    let [a,b] = [1,2,3];
    console.log(a);//1
    console.log(b);//2
    

    解构失败时,变量的值为undefined。

    let [a,b] = [1];
    console.log(a);//1
    console.log(b);//undefined
    

    3.对象解构赋值

    const obj = {
        name:"亚索",
        skill:"hasakei"
    }
    let {name,skill} = obj;
    console.log(name);//亚索
    

    变量名与属性名相同,才能取到正确的值。

    如果想要自定义变量名,则用:进行修改。

     const obj = {
             name: "亚索",
             skill: "hasakei"
         }
         var { name:yi, skill:er } = obj;
         console.log(yi);//亚索*/
    

    方法解构

     var obj = {
             r: function () {
                 console.log("狂风绝息斩");
             },
             e: function () {
                 console.log("e去不复返");
             }
         }
         const { r, e } = obj;
         r();//狂风绝息斩
         e();//e去不复返
       /---方法解构自定义名
         var { r: yi, e: er } = obj;
         yi();//狂风绝息斩
         er();//e去不复返*/
    

    注意点:

    let x;
    {x} = {x:1};
    

    以上代码是错误写法。{x}前面如果没有let const的变量声明的关键字,则js会将其视为代码块。
    如果需要提前声明变量,则需要将解构语句用小括号包裹起来;。

    let x;
    ({x} = {x:1});
     console.log(x);//1
    

    数组本质也是特殊的对象,也可以对数组进行对象属性的解构。

     const arr = ["诺手", "蝎子", "劫", "EZ", "女坦"];
         var { length, 0: first, 4: last } = arr;
         console.log(length);//5
         console.log(first);//诺手
         console.log(last);//女坦
    

    数组的本来我们用的方式

     const arr = ["诺手", "蝎子", "劫", "EZ", "女坦"];
        var [yi ,er] = arr;
        console.log(arr.length);//5
        console.log(yi);//诺手
    

    4.字符串解构

    const str = 'hello';
    let [a, b, c, d, e] = str;
    console.log(a);//h
    let { length } = str;
    console.log(length);//5
    

    类数组的对象都有一个length属性,我们可以对这个属性进行解构赋值。

    5.函数参数的解构赋值

      function add([x, y]) {
            return x + y;
        }
        let sum = add([1, 2]);
        console.log(sum);//3
    

    以上案例,函数add的参数表面上一个数组,但是在传入参数的那一刻,数组参数会被解构成变量x和与y.

    6.用途

    6.1 交换变量的值

    let a = 1;
    let b = 2;
    /*原来写法 let tmp = a;
     a = b;
     b = tmp;8*/
    [a,b] = [b,a];
     console.log(a);/2
    

    6.2 从函数中返回多个值

    <script>
        //从函数中返回多个值
        function fn() {
            return [1, 2, 3];
        }
        let [a, b, c] = fn();
        console.log(b);//2
       //-----------------------------
        function fn2() {
            return {
                name: "yasuo",
                age: "25"
            }
        }
        let { name:ui, age } = fn2();
        console.log(ui);//yasuo
    </script>
    

    6.3 函数参数的定义(也叫传参)

    function fn({a,b,c}){
        console.log(a);/1
        console.log(b);/2
        console.log(c);/3
    }
    fn({c:3,b:2,a:1})
    
    展开全文
  • SAS 字符串常用函数

    千次阅读 2019-09-22 02:43:12
    1.(right of =) Function,提取字符:Substr(s,p,n)从字符串s中的第p个字符开始提取n个字符的子串。2 (left of =) Function,字符替换:Substr(s,p,n)=characters-to-replace,从变量s的第p个...

    总结多个字符串常用函数

    1.Substr(s,p,n)

    【功能】:字符串的替换和字符串的提取

    【语法】:

    1.(right of =) Function,提取字符:Substr(s,p,n)从字符串s中的第p个字符开始提取n个字符的子串。
    2 (left of =) Function,字符替换:Substr(s,p,n)=characters-to-replace,从变量s的第p个字符开始替换n个字符

    【注意】:

    1. 必须是从字符变量中提取,对数值变量不起作用,必须转换为字符变量,如果是数字变量,在调用substr函数时会自动把数字变量转为字符变量,不过需要注意的是转化为的字符变量采用的是best12.格式。
    2.n的长度不能超过p后面的长度,例如s=alibaba,b=Substr(s,5,5)系统会有提示。
    3.如果缺失n的话,SAS则会提取p后面全部字符,如果是替换的话,则不能缺失n。

    【例子】

    data _null_;
    x='1ad23jia4';
    y=substr(x,4,2);
    substr(x,3,1)='9';
    put y= x=;
    run;

    结果:y=23 x=1a923jia4

    2.Tranwrd

    【功能】:将字符串中的某些字符串换为其他字符

    【语法】:tranwrd(s,a,b)将字符串s中a表示的字符串换为b表示的字符串

    【注意】:替换字符串区分大小写

    【例子】:data _null_;
    x='1ad23jia43';
    y=tranwrd(x,'23','zz');
    put y=;
    run;

    结果:y=1adzzjia43

    3.Tanslate

    [功能]:更换字符串的排序

    [语法】:TRANSLATE( to, s, from): 将字符串s从from的排序转换成to的排序

    【例子】:

    data _null_;
    x='1ad23';
    y=translate('54321',x,'12345');
    put y=;
    run;

    结果:y=32da1

    4.Compress
    【功能】保留或者删除字符串

    【语法】COMPRESS(<source>,<chars>,<modifiers >)

    source 指定一个要被移除字符的源字符串。
    chars  指定一栏初始字符,默认它是要从source里移除的。
    modifiers  指定一个修饰符,函数的具体功能。如:
    a 增加(A - Z, a - z)到初始字符里(chars)。
    d 增加数字到初始字符里(chars)。
    f 增加下划线和字母 (A - Z, a - z) 到初始字符里(chars)。
    g 增加图形字符到初始字符里(chars)。
    k 不移除初始字符(chars)而是返回这些字符。
    l  增加小写字母(a - z)。
    n 增加数字、下划线和字母(A - Z, a - z)。
    p 增加标点符号。
    s 增加空格,包括空格,水平制表符,垂直制表符,回车符,换行符和换页符。
    t 剪掉尾部空格。
    u 增加大写字母(A - Z)。       
    w 增加可印刷的字符。
    X 增加十六进制字符

    【注意】:

    1. 只有source,移除空格。

    2. 只有source,chars时,从source中移除chars。

    3. source ,chars,modifiers都有时,modifiers  K决定保留还是移除。无K时,移除chars加上modifiers指定的。

    【例子】:

    data _null_;
    x="ABabISEFjdABCD";
    y=compress(x,"A","l");
    put y=;
    run;

    结果:y=BISEFBCD
    5.CAT

    【功能】:拼接字符串

    【语法】:

    CAT(A,B): 拼接字符串A和B并保留首尾全部空格(同A||B)
    CATS(A,B): 拼接字符串A和B并去掉首尾全部空格(同strip(A)||strip(B))
    CATX("x",A,B): 拼接字符串A和B并去掉首尾全部空格,并且在字符串之间加上一个指定的字符串"x"(同strip(A)||"x"||strip(B))

    CATT(A,B): 拼接字符串A和B并去掉各字符串尾部空格(同trim(A)||trim(B))

    【例子】:

    data _null_;
    b=' l o v e ';
    c=' S A S ';
    s1=cat(b,c);
    s2=cats(b,c);
    s3=catx('_',b,c);
    s4=catt('I',b,c);
    put s1=/s2=/s3=/s4=;
    run;

    结果:s1=l o v e S A S

    s2=l o v eS A S

    s3=l o v e_S A S

    s4=I l o v e S A S

    6.find

    [功能]字符串中的某段字符在字符中的位置

    【语法】find(<source>,<chars>,<modeifers>,<数字>)从字符串中第“数字”开始查找字符串<chars>的位置,<modeifier>取i表示不区分大小写

    【注意】不管起始位置是多少,返回的位置数值始终是在源字符串中的位置。

    【例子】
    data _null_;
    Text='CHUSINA, us, US, Denmark';
    X1=find(Text,'US','i',5);
    X2=find(Text,'US',5);
    X3=find(Text,'US');
    PUT X1= X2= X3=;
    run;

    结果是:X1=10 X2=14 X3=3

    7.INDEX 

    [功能]返回字符串中某个字符或字符串的位置

    【例子】 data _null_;
      a = 'ABC.DEF(X=Y)';  
      b = 'X=Y';
      x = index(a,b);  
      put x=;  
     run;

    结果:x=9

    【比对】indexc:指定字符串中寻找想要找的字符中的任意一个首先出现的字符,并返回该字符位置,多个字符之间用逗号隔开。

    例子

     data _null_;
      a = 'ABC.DEF(X=Y)';  
      x1 = indexc(a,'kA','JID');  
      x2 = indexc(a,'ka','JID');  
      put x1= x2=;  
     run;

    结果:x1=1 x2=5

    【注】scan只能搜索CHAR类型,index与indexc不受此限制

    8.删除字符串空格

    trim(string):删除字符串尾部空格

    strip(string):删除字符串首尾空格

    compress(<source>,<char>,<modifiers>):删除指定字符(若不指定字符,则删除source中所有空格)

     

    转载于:https://www.cnblogs.com/Anni-love-Ferris-wheel/p/7307081.html

    展开全文
  • 感谢网友 ATGC ,这个问题研究了一天,终于搞定!! ...表里提取汉字, 需要...这里以GB2312为例, 写一函数准确地表里提取简体汉字. 假设数据库字符集编码是GB2312, 环境变量(注册表或其它)的字符集也是GB23
  • 实际编程中,我们常常希望能从字符串中,提取想要的数据时,此时我们就可以派上sscanf函数了. sscanf sscanf 函数声明如下: int sscanf( const char* str, const char* format, ... ); 它表示从字符串str中按照...
  • 表里提取汉字, 需要考虑字符集, 不同的字符集汉字的编码有所不同这里以GB2312为例, 写一函数准确地表里提取简体汉字.假设数据库字符集编码是GB2312, 环境变量(注册表或其它)的字符集也是GB2312编码并且保存到...
  • R语言字符串变量拆分

    万次阅读 2017-04-07 11:20:52
    R语言常用的字符串或变量拆分函数有 substr split strsplit tstrsplit ...> substr("abcdef", 2, 4) #从字符串“abcdef”中提取出第2到4个位置上的字符 [1] "bcd" > substring("abcdef", 1:
  • 利用它可以从字符串中取出整数、浮点数和字符串。 sscanf和scanf的区别:scanf是以键盘作为输入源,sscanf是以字符串作为输入源。 提取某个字符串中的有效信息,放入指定变量或字符串中 跟scanf一样,遇到空格结束...
  • JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的;...3,运算符和变量,以及操作之间可以使用空格分开,这样的程序较容易阅读。(个人偏向不加空格,因为编辑器对不同的内容有颜色区分,vsCode中使...
  • 结果中,我们可以看到,循环体每运行一次,那么将输出的是字符串里的字符,并且该字符是0开始,我们在字符串变量后用[ ]括起,并给出相应的序号,便可以得到我们想要的字符。 三、字符串连接符 在PHP中有且仅有...
  • 字符串操作(长度,读取,替换) {#string} $string的长度   ${string:position} 在$string中, 位置$position开始提取子串  ${string:position:length} 在$string中, 位置$position开始提取长度为$length...
  • 我试图提取函数接收到的Python字符串。在考虑以下因素:我有一个用Python运行的脚本。脚本将继续运行。它绑定到一个USB端口,监听进入的ZigBee数据帧。在我有一个分解这个数据帧的函数# Decoded data frame to use ...
  • ES6 允许按照一定模式,数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)
  • (1)ES6 允许按照一定模式,数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 let a = 1; let b = 2; let c = 3; ES6 允许写成下面这样。 let [a, b, ...
  • 本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。 在shell中,尽量使用内置操作或函数完成,这样效率更高!... ${string:position}:在$string中,$position之后开始提取子串(不包括posi...
  • 在ES6中按照一 定的模式 数组中提取数值对对应的变量进行赋值的操作就叫做解构赋值 本质上讲解构赋值就是模式匹配 2.解构赋值 var [a,b,c] = [1,2,3];console.log(a,b,c);//1 2 3 1.如果想要解构赋值成功那么就...
  • 解构赋值语法是一个JavaScript表达式,这使得可以将值数组或属性对象提取到不同的变量中。 一.数组的解构赋值 1.普通的数组解构赋值 const arr = [1,2,3,4]; let [a,b,c,d] = arr;//a=1,b=2,c=3,d=4 2.稍复杂...
  • python中的字符串

    2019-09-25 08:02:13
    一. 字符串以及相关使用--内置函数 1. 字符串赋值:变量名 = "" 或者 变量名 = '' 或者 变量名=""" """ 2. 字符串表示:双引号...4. 查找子字符串变量名.find(子字符串) 返回的是子字符串的起始下标。如果找不到...
  • 字符串定义 字符串是python中最常见的数据类型,创建字符串只需用引号括起来分配给一个变量即可,引号可以是单...索引,指字符串的位置,可以通过索引来提取字符串中的元素,python中,索引是0开始由左到右,如果由
  • 这些内建函数提供了不同的方法来访问字符串变量的内容。下面我们具体看一下这些函数。 包罗万象 操作字符串的值是一般的开发人员必须面临的家常便饭。操作字符串的具体方式有很多,比如说一个字符串是...
  • 以前如果有字符串和数字之间的转化,我也就会自己写个函数,有时还能写错了,调试半天(菜!...同样也可以整型转字符串的,只需要换一下流插入运算符和流流提取运算符的操作变量就行了 当然strin...
  • index:返回一个字符串中,某个特定字符或字符串的位置,找不到时返回0 compress:一个字符串移除特定的字符 substr函数 字符替换与提取字符 substr(s, p, n)从变量s的第p个字符开始替换n个字符 ...
  • 1)判断变量的数据类型:typeof()使用typeof(),可以测试一个变量的类型。typeof()测试的结果是一个类型字符串。typeof()的结果字符串有几种情况: “string” 、 “number” 、 ...2)从字符串提取整数和...
  • 能够说出模板字符串拥有的特性 ES6相关概念(★★) 什么是ES6 ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。 为什么使用 ES6 ? 每一次标准的诞生都意味着语言的完善,...
  • 定义:允许按照一定模式数组和对象中提取变量,并对变量进行赋值 类型一:数组类型的解构赋值 //类型一:数组类型 const Name = ['邓柱', '灯珠', '灯柱']; //定义四个变量分别对应数组中的值 let [a, b, c] =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 391
精华内容 156
关键字:

从字符串变量提取函数