您的位置:首页 > 其它

常用的字符串截取

2015-12-30 10:37 183 查看
java

substring(int begin,int end) 截取s中从begin开始至end结束时的字符串

位置从0开始

如果没有指定参数end,子字符串将延续到字符串的最后。

js

substr(start,length);截取s中从begin开始至end结束时的字符串

位置从0开始

如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,子字符串将延续到字符串的最后。

substring(start,end)
截取s中从begin开始至end结束时的字符串

位置从0开始

如果没有指定参数end,子字符串将延续到字符串的最后。

substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。

例如, str.substring(0, 3) 和 str.substring(3, 0) 将返回相同的子字符串。

oracle

1.lpad(string,n,[pad_string])

l将左边的字符串填充一些特定的字符

string字符或者参数

n字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

pad_string可选参数,这个字符串是要粘贴到string的左边,若这个参数未写,lpad函数将会在string的左边粘贴空格。

lpad('tech', 7); 将返回' tech'

lpad('tech', 2); 将返回'te'

lpad('tech', 8, '0'); 将返回'0000tech'

lpad('tech on the net', 15, 'z'); 将返回'tech on the net'

lpad('tech on the net', 16, 'z'); 将返回'ztech on the net'

2.rpad(string,n,[pad_string])

string字符或者参数

n字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

pad_string可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。

rpad('tech', 7); 将返回' tech'

rpad('tech', 2); 将返回'te'

rpad('tech', 8, '0'); 将返回'tech0000'

rpad('tech on the net', 15, 'z'); 将返回'tech on the net'

rpad('tech on the net', 16, 'z'); 将返回'tech on the netz'

3.substr(字符串,截取开始位置,截取长度)
//返回截取的字

位置从1开始

substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串

substr('Hello World',1,1) //返回结果为 'H' *0和1都是表示截取的开始位置为第一个字符

substr('Hello World',2,4) //返回结果为 'ello'

substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

sql server

SQL Server 中截取字符串常用的函数:

1.LEFT ( character_expression , integer_expression )

函数说明:LEFT ( '源字符串' , '要截取最左边的字符数' )

返回从字符串左边开始指定个数的字符

select LEFT('SQL_Server_2008',4 );

返回结果:SQL_

2.RIGHT ( character_expression , integer_expression )

函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数' )

返回字符串中从右边开始指定个数的 integer_expression 字符

select RIGHT('SQL_Server_2008',4 );

返回结果:2008

3.SUBSTRING ( character_expression , start , length )

函数说明:SUBSTRING ( '源字符串' , '截取起始位置(含该位置上的字符)' , '截取长度' )

返回字符、binary、text 或 image 表达式的一部分

select SUBSTRING('SQL_Server_2008',5 ,6);

返回结果:Server

instr( string1, string2 [, start_position [, nth_appearance ] ] )
string1 源字符串
string2 目标字符串.
start_position 从string1 的哪个位置开始查找。默认为1. 字符串索引从1开始。为正,从左到右开始检索,为负,从右到左检索。
nth_appearance 代表要查找第几次出现的string2. 此参数可选,默认为 1.不能为负数
返回要查找的字符串string2在源字符串string1中的符合条件的开始索引


mysql

同sql server前三种

4、按关键字截取字符串

substring_index(str,delim,count)

说明:substring_index(被截取字段,关键字,关键字出现的次数)

例:select substring_index("blog.jb51.net","。",2) as abstract from my_content_t

结果:blog.jb51

(注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束)

db2

left(位置,长度)

right(位置,长度)

substr(源字符串,截取位置,截取长度)

总结:

字符串截取方法大同小异

编程语言与数据库的截取方法主要差在起始位置与源字符串的写法

编程语言是str.substring(0),起始位置是0

数据库是substr('str',1),起始位置是1

剩下的就是名字不同了,substr,substring
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: