精华内容
下载资源
问答
  • 最后一个参数是可选的,如果只提供开始位置,则开始位置截取到最后 先看从左向右截取的例子: 1、第2个字符截取到最后 复制代码 代码如下: $result = substr (“abcdef”, 1); echo($result); 输出结果为:...
  • 0x00 前言 在数据库中查询的结果中...0x01 根据偏移截取部分字符串 mysql select SUBSTR(name, 1, 5) from users; select SUBSTRING(name, 1, 5) from users; select SUBSTR(name, -1, 5); select SUBSTR('hanmei...

    0x00 前言

    在数据库中查询的结果中只想取其中一部分字符串作为结果输出,该如何写sql语句呢?

    0x01 根据偏移截取部分字符串

    mysql

    select SUBSTR(name, 1, 5) from users;
    select SUBSTRING(name, 1, 5) from users;
    select SUBSTR(name, -1, 5);
    select SUBSTR('hanmeimei', 1, 5);
    

    函数原型

    SUBSTR(str,pos,len)
    

    说明:

    1. pos可以为负数,起始值从1开始,不是0;
    2. str参数可以是表名,可以是字符串;
    3. sqlserver中的SUBSTRING 与mysql的SUBSTRING 功能相同。

    0x02 根据特定字符串截取部分字符串

    mysql

    select SUBSTR(name,INSTR(name,'hanmei'),10) from users;
    

    函数原型

    SUBSTR(str,pos,len)
    INSTR(str,substr)
    

    说明:

    1. INSTR()寻找特定字符substr的偏移位置,位置是substr的第一个字符串的位置;
    2. sqlserver中的CHARINDEX与mysql的INSTR功能相同;
    3. mysql中有个函数叫SUBSTRING_INDEX(),作用是使用指定分割字符,将目标字符串切分成几段,需要注意与CHARINDEX的区别。

    0x03 参考文献

    1. mysql官方功能函数列表

    展开全文
  • 一、Linux shell 截取字符变量的前8位...二、按指定的字符串截取1、第一种方法:${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}
  • ...其中 var 是变量名,# 号是运算符,*// 表示左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符。 ec...

    假设有变量 var=http://www.aaa.com/123.htm.

    1. # 号截取,删除左边字符,保留右边字符。

    echo ${var#*//}

     其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
    即删除 http://
    结果是 :www.aaa.com/123.htm

    2. ## 号截取,删除左边字符,保留右边字符。

    echo ${var##*/}

    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
    即删除 http://www.aaa.com/

    结果是 123.htm

    3. %号截取,删除右边字符,保留左边字符

    echo ${var%/*}

    %/* 表示从右边开始,删除第一个 / 号及右边的字符

    结果是:http://www.aaa.com

    4. %% 号截取,删除右边字符,保留左边字符

    echo ${var%%/*}

     %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
    结果是:http:

    5. 从左边第几个字符开始,及字符的个数

    echo ${var:0:5}

    其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
    结果是:http:

    6. 从左边第几个字符开始,一直到结束。

    echo ${var:7}

    其中的 7 表示左边第8个字符开始,一直到结束。
    结果是 :www.aaa.com/123.htm

    7. 从右边第几个字符开始,及字符的个数

    echo ${var:0-7:3}

    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
    结果是:123

    8. 从右边第几个字符开始,一直到结束。

    echo ${var:0-7}

    表示从右边第七个字符开始,一直到结束。
    结果是:123.htm

    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

     

    转自:https://www.cnblogs.com/zwgblog/p/6031256.html

    展开全文
  • 工作慢慢步入正轨。国庆一个人在公司安安静静琢磨代码,像回到了学校实验室。最近开始刷leetcode了,一个...主要考虑两点,一是偏移量大于字符串长度时,取倍数的余数。因为整数倍是不移动的。二是字符串为空。使用c...

    工作慢慢步入正轨。国庆一个人在公司安安静静琢磨代码,像回到了学校实验室。最近开始刷leetcode了,一个简单的小题要花费一天。如题目这个,用了一天半,参照别人的想法总是不成功,后来延续了自己的想法,时间提高了一倍,用时80ms。项目如下。算法的思想是,首先向右移动一次,偏移量决定了共向右移动几次。主要考虑两点,一是偏移量大于字符串长度时,取倍数的余数。因为整数倍是不移动的。二是字符串为空。使用c++编译程序如下。文档中贴的是根据评论写的代卖,时间在150ms左右,通过率75%。

    VS2013使用c++编译的demon如下:

    https://download.csdn.net/download/cumtml/10703099

     

    网站上还有一种做法是根据偏移量划分字符串。代码如下,可能我字符串为空考虑的不好,只通过了70%。这个时间在170左右。

    //int leng = str.size();
        //char t = 0;
        //if (offset % (leng - 1) == 0)
        //{
        //    t = str[0];
        //    for (int i = 0; i<leng - 1; i++)
        //    {
        //        str[i] = str[i + 1];
        //    }
        //    str[leng - 1] = t;
        //}
        //if (offset%leng == 0 || offset == 0)
        //{
        //}
        //if (offset%leng != 0 && offset%leng != (leng - 1))
        //{
        //    offset = offset%leng;
        //    for (int i = 0; i < (leng - offset) / 2; i++)
        //    {
        //        t = str[i];
        //        str[i] = str[leng - offset - 1 - i];
        //        str[leng - offset - 1 - i] = t;
        //    }
        //    for (int i = leng - offset; i < leng - offset + (offset / 2); i++)
        //    {
        //        t = str[i];
        //        str[i] = str[i + offset - 1];//leng+offset-i
        //        str[i + offset - 1] = t;
        //    }
        //    for (int i = 0; i < 1 + leng / 2; i++)
        //    {
        //        t = str[i];
        //        str[i] = str[leng - 1 - i];
        //        str[leng - 1 - i] = t;
        //    }
        //}

     

    展开全文
  • 截取 第一个汉字后面加两个星 $rest = mb_substr($v['name'], 0, 1, 'utf-8'); //截取 第一个汉字 ...在实际项目应用中,经常遇到使用php获取字符串前几位用来比较、赋值等等。今天给大家分享使用php substr...

    截取 第一个汉字后面加两个星

                 	
    $rest = mb_substr($v['name'], 0, 1, 'utf-8'); //截取  第一个汉字
    echo $rest.'**'; //输出第一个汉字 后面加两个星
                        	
    

    在实际项目应用中,经常遇到使用php获取字符串前几位用来比较、赋值等等。今天给大家分享使用php substr 获取字符串前几位、后几位、指定位的用法。
    (PHP 4, PHP 5)

    substr — 返回字符串的子串

    说明

    string substr ( string $string , int $start [, int $length ] )

    返回字符串 string 由 start 和 length 参数指定的子字符串。

    参数
    string

    输入字符串。

    start

    如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

    如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

    如果 string 的长度小于或等于 start,将返回 FALSE。

    Example #1 使用负数 start

    $rest = substr(“abcdef”, -1); // 返回 “f”
    $rest = substr(“abcdef”, -2); // 返回 “ef”
    $rest = substr(“abcdef”, -3, 1); // 返回 “d”
    

    length

    如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

    如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

    如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。

    如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

    Example #2 使用负数 length

    <?php
    echo substr(‘abcdef', 1); // bcdef
    echo substr(‘abcdef', 1, 3); // bcd
    echo substr(‘abcdef', 0, 4); // abcd
    echo substr(‘abcdef', 0, 8); // abcdef
    echo substr(‘abcdef', -1, 1); // f
     
    // 访问字符串中的单个字符
    // 也可以使用中括号
    $string = ‘abcdef';
    echo $string[0]; // a
    echo $string[3]; // d
    echo $string[strlen($string)-1]; // f
    ?>
    

    Example #4 substr() casting behaviour

    <?php
    class apple {
    public function __toString() {
    return “green”;
    }
    }
     
    echo1).var_export(substr(“pear”, 0, 2), true).PHP_EOL;
    echo2).var_export(substr(54321, 0, 2), true).PHP_EOL;
    echo3).var_export(substr(new apple(), 0, 2), true).PHP_EOL;
    echo4).var_export(substr(true, 0, 1), true).PHP_EOL;
    echo5).var_export(substr(false, 0, 1), true).PHP_EOL;
    echo6).var_export(substr(“”, 0, 1), true).PHP_EOL;
    echo7).var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
    ?>
    

    以上例程会输出:

    1. ‘pe’
    2. ‘54’
    3. ‘gr’
    4. ‘1’
    5. false
    6. false
    7. ‘1200’

    错误/异常

    错误时返回 FALSE。

    <?php
    var_dump(substr(‘a', 1)); // bool(false)
    ?>
    
    展开全文
  • shell截取字符串方法

    2019-09-26 23:30:29
    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法。${parameter:-word}${parameter:=word}${parameter:?word}${parameter:+word}上面4种可以用来进行缺省值的替换。${#parameter}上面这种可以...
  • perl 循环截取字符串

    千次阅读 2016-12-21 17:27:07
    my $sql="where `lc`.`tb`.`xx` = 1 and `tb2` . `id2` = 2 or `id3` > 3 and `id4` >22"; #my $sql='where `lc` = 1 and `tb2` . `id2` = 2 or `id3` > 3 and `id4` >22'; foreach ($sql =~ m/(`\w+`\s*\.?...
  • Shell截取字符串与tr命令简单介绍

    千次阅读 2019-12-30 21:46:31
    1.Shell中简单使用的字符截取 ...echo ${str%mno*} # 截取从字符串右边数第一个mno字符串前面所有字符。 echo ${str%%mno*} # 截取从字符串右边数最后一个mno字符串前面所有字符 echo ${str#*mno} # 截取...
  • excel从右向左截取字符串函数

    万次阅读 2013-03-28 15:01:29
    A串中提取"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的indexOf功能,find是左往查找的,在EXCEL中并没有从右往左查找,类似lastIndexOf的函数. 在EXCEL想要从右往左截取...
  • 字符串截取

    千次阅读 2017-12-29 12:23:01
    字符串截取
  • 字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 就比如说对url链接的操作:https://blog.csdn.net/momushen/article/details/107347154 有时我们想截取最后一个斜杠'/'后面的数字; 有时我们...
  • Excel 截取字符串函数

    2021-05-14 11:57:15
    left(text,num):用于对一个文本字符串从左向右提取指定个数的字符 right(text,num):用于对一个文本字符串右向左提取指定个数的字符 MID(text,start_num,num_chars):一个文本字符串的指定位置开始...
  • 从字符串左向右截取指定数量的字符组成子字符串我们可以用Substring()函数。 语法: Substring(int startIndex,int Length):参数一指定的开始字符位置开始截取,截取Length长度的字符串并返回 ...
  • SQL中字符串截取 #函数 substring(str,pos,len) #str:字符串 #pos:坐标 #len:截取的坐标线长度 #底层原理:比如一条坐标线,中点坐标为0,向左是负数,向是正数,str放到起点坐标为1,终点坐标为str长度的位置。 #...
  • 按符号截取字符串的指定部分

    千次阅读 2019-05-14 17:06:08
    * 按符号截取字符串的指定部分 * @param string $str 需要截取的字符串 * @param string $sign 需要截取的符号 * @param int $number 如是正数以0为起点从左向右截 负数则右向左截 * @return string 返回截取...
  • PHP按符号截取字符串的指定部分

    千次阅读 2019-03-12 15:00:48
    字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 就比如说对url链接的操作:http://baijunyao.com/article/12 有时我们想截取最后一个斜杠’/‘后面的数字; 有时我们又需要截取第一个斜杠’/'...
  • 一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 ...${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%
  • Shell 截取字符串方法

    2018-12-22 22:16:19
    从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//abcdd//1234//444//1234//5" subString="${exampleString##*//}" echo $subString 输出结果 5 方法2 “${varible#*...
  • shell 字符串截取

    千次阅读 2018-07-06 23:10:21
    因最近工作中,用到shell脚本,刚开始感觉难度比较大...如下为查阅网络资料后,整理针对该问题,整理字符串截取操作如下:一、字符串截取:1. 如题想提取文本中在[]之前的字符,字符与[]之间有空格;比如文本: TF...
  • linux中shell截取字符串方法总结

    万次阅读 2016-07-11 11:44:36
    shell中截取字符串的方法有很多中,可以分为两大类。第一种获取特定的字符或字符串的左边或者右边的字字符串,java中实现需要先用indexOf来确定特定字符串的位置,然后再用substring来获取结果;第二种类似java中的...
  • shell字符串截取

    2011-12-14 09:28:11
    ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%%string*}右向左截取最后一个string后的字符串 ${varible%string*}右向左截取...
  • Perl 字符串截取函数substr

    千次阅读 2017-07-16 14:45:09
    在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容。 这个时候通常会使用substr函数实现...substr(待截取字符串,截取起始位置,截取终了位置); view plaincopy to clipboardprint? $str="testtest";  prin
  • shell 字符串截取方式

    2019-08-01 17:45:46
    ${varible##string} 从左向右截取最后一个string后的字符串 ${varible#string}从左向右截取第一个string后的字符串 ${varible%%string}右向左截取最后一个string后的字符串 ${varible%string}右向左截取第一个...
  • Shell字符串截取

    2020-07-26 15:35:24
    子串截取的三种用法: • 变量名:起始位置:长度•exprsubstr"{变量名:起始位置:长度} • expr substr "变量名:起始位置:长度•exprsubstr"变量名" 起始位置 长度 • echo $变量名 | cut -b 起始位置-...• 从左向右
  • shell中如何截取字符串(2)

    千次阅读 2014-11-05 23:15:14
    ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%%string*}右向左截取最后一个string后的字符串 ${varible%string*}右向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,626
精华内容 1,450
热门标签
关键字:

从左向右截取字符串