SQLsubstring截取字符串(substring截取字符串)

时间:2023-11-17 08:45:14 来源:网友分享 编辑:超甜的布丁

98%的字符串截取操作,只用这三个简单的函数就可以,实用易学

大家好,欢迎来到无非课堂,我是无非~

实际工作中,经常会遇到从字符串中截取部分字符的操作。根据具体需求的不同,可以用采用分列或函数等方式来实现,其实采用函数来实现是比较简单易学的方法。

无非老师与大家分享三个函数,用它可以完成98%以上的字符串截取需求,赶紧学起来吧!

例如,要对如下图所示的表格部分字符串进行截取以获取相关新数据,具体要用到的函数与实际应用方法如下。

一、LEFT函数

功能:

从一个文本字符串的第一个字符开始截取指定个数的字符。

格式:

LEFT( string, n )

说明:

string :必要参数。字符串表达式其中最左边的那些字符将被返回。如果 string 包含 Null,将返回 Null。

n :必要参数;为 Variant (Long)。数值表达式,指出将返回多少个字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。

应用:

如下图所示,要求提取身份号码的前两位。

操作步骤如下:

1、如下图所示,选定D2单元格,录入公式:

=LEFT(C2,2)

2、如下图所示,再次选定D2单元格,往下填充公式。

二、RIGHT函数

功能:

从一个文本字符串右端截取指定个数的字符。

格式:

Right(string, length)

说明:

string:必要参数。字符串表达式,从中最右边的字符将被返回。如果 string 包含 Null,将返回 Null。

length:必要参数;为 Variant (Long)。为数值表达式,指出想返回多少字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。

应用:

如下图所示,要求提取身份号码的最后四位。

操作步骤如下:

1、如下图所示,选定D2单元格,录入公式:

=RIGHT(C2,4)

2、如下图所示,再次选定D2单元格,往下填充公式。

三、MID函数

功能:

从一个文本字符串中截取出指定个数的字符。

格式:

MID(text, start_num, num_chars)

说明:

text:表示指定的字符串,一般为引用的单元格。

start_num:表示指定位置。

num_chars:表示指定个数。

应用:

如下图所示,要求提取身份号码中的出生年月日,即从第7位开始连续的8位。

操作步骤如下:

1、如下图所示,选定D2单元格,录入公式:

=MID(C2,7,8)

2、如下图所示,再次选定D2单元格,往下填充公式。

这三个函数还可以与FIND、TEXT等函数结合,实现各种更为实用的功能。

你学会了吗?觉得有用请点赞、收藏,转发分享给自己备份一份,以便以后忘记时可以快速找到查看!

配套案例素材文件:SAE063_字符串截取三函数.xlsx,关注“无非课堂”后回复“1111”获取,有任何疑问或有更好的方法,请在下方评论区留言交流~~

想要快速系统化学习,请点击下方专栏卡片!

java中对字符串进行截取

1、通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法

//示例代码

public static void main(String[] args) {

String Str = "hello wrold";

System.out.print("返回值,从第4位截取到字符串末尾 :" );

System.out.println(Str.substring(4) ); //返回值,从第4位截取到字符串末尾 : o wrold

System.out.print("返回值,从第4位截取到第10位 :" );

System.out.println(Str.substring(4, 10) ); //返回值,从第4位截取到第10位 : o wrol 左闭右开

2.通过StringUtils提供的方法进行截取

//与第一种方法效果一样

StringUtils.substring("hello world", 4); // 返回值,从第4位截取到字符串末尾 : o wrold

StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位 : o wrol

//截取某个字符串之前的字符

StringUtils.substringBefore("hello world", "l"); //结果是:he 这里是以第一个“l”为标准

StringUtils.substringBeforeLast("hello world", "l"); //结果为:hello wor 这里以最后一个“l”为标准

//截取某个字符串之后的字符

StringUtils.substringAfter("hello world", "l"); //结果是:lo world 这里是以第一个“l”为标准

StringUtils.substringAfterLast("hello world", "l"); //结果为:d 这里以最后一个“l”为标准

//截取两个字符串之间的字符

StringUtils.substringBetween("hello world", "o"); //结果是: w 两个o之间的字符串

StringUtils.substringBetween("hello world", "l", "r"); //结果是: lo wo 第一个字符“l”与第一个字符“r”之间的字符串

StringUtils.substringsBetween("hello world", "l", "r"); //结果是: 数组 [lo wo] 第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回,需要用Arrays.toString()才能显示[lo wo],不然是地址值。

以上就是常用的java截取字符串方法。

dataframe表内元素截取字符串

python有其方便的字符串截取方法,针对字符串变量比较简单

day = '20220211'

print("整个字符串:"+day)

print("截取最后两位:"+day[-2:])

整个字符串:20220211

截取最后两位:11

那么处理dataframe内部元素,我一般用apply(lambda c:)的方法。比如我有一个df_ic,我希望增加一列【交割月份】,按照【合约代码】最后两位数字来重新定义。方法如下

日期 合约代码

2022-02-11CU2202

2022-02-11CU2203

2022-02-11CU2204

2022-02-11CU2205

先定义一个字典:

symbolSet = {"01":"1月合约","02":"2月合约","03":"3月合约","04":"4月合约","05":"5月合约","06":"6月合约","07":"7月合约","08":"8月合约","09":"9月合约","10":"10月合约","11":"11月合约","12":"12月合约"}

然后通过apply方法对df内部元素进行遍历

df_ic['期货合约'] = df_ic['合约代码']ly(lambda c: symbolSet[c[-2:]]) # 针对dataframe表内元素截取字符串,通过字典赋值

日期 合约代码 交割月份

2022-02-11CU2202 2月合约

2022-02-11CU2203 3月合约

2022-02-11CU2204 4月合约

2022-02-11CU2205 5月合约

声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20231117/169624629241564.html