字符串函数

leetcode8:字符串转换整数 (atoi)

故事扮演 提交于 2020-03-08 10:11:43
看到大神,用正则式1行写出,再看看自己的if语句连篇还没做出来,很是受挫。 于是肝了三天,学会了正则表达式。因为不太聪明和要搞清一些细节的东西,才花了那么长时间。 其实入门还是比较容易的。 我的见解: 不去处理字符串前面的空格,直接用正则表达式: ^\s*([+-]?\d+) 其中有以下两点是 初学者 要注意的: 里面的小括号 () 有什么用? () 是捕获组,因为我们实际不需要空格,需要获取剩余的对象。 group(1) 就是我们要的东西,整个正则表达式是 group(0) 。其实我们也 可以不要() ,连带着空格,因为后面的 int() 函数会处理带前后空格的字符串。 + 是元字符,要使用它的字面意思,前面不是要加 \ 转义吗? 大多情况下是要加 \ 的。但在 [] 中,前面是 可以不加 \ 的, 加上去 \ + 当然也没错 。 在 [] 中 要使用字面意思匹配, \ , ] 必须加反斜杠 , - , ^ 分别与用作 区间 (在中间)和 取非 (在前面)功能相冲突时要加反斜杠,其他的时候可以不加,其余字符都可以不加反斜杠。 找到相应的字符串,之后就不必我说了吧。 推荐: 一个学习网址: learn-regex 一个在线练习的网站: regex101 你看花花绿绿的多好看🤣。 测试这道题的,可以用我测试时做的样例: https://regex101.com/r/75rJ8K/6

LeetCode 第 21 场双周赛(779/1913,前40.7%)

。_饼干妹妹 提交于 2020-03-08 09:57:07
文章目录 1. 比赛结果 2. 题目 LeetCode 5336. 上升下降字符串 easy LeetCode 5337. 每个元音包含偶数次的最长子字符串 medium LeetCode 5338. 二叉树中的最长交错路径 medium LeetCode 5339. 二叉搜索子树的最大键值和 hard 1. 比赛结果 只做出来了第1题,第3题有一个例子超时,没解决 全国排名:779 / 1913,40.7%;全球排名:2027 / 4729,42.8% 2. 题目 LeetCode 5336. 上升下降字符串 easy 题目链接 给你一个字符串 s ,请你根据下面的算法重新构造字符串: 从 s 中选出 最小 的字符,将它 接在 结果字符串的 后面 。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。 重复步骤 2 ,直到你没法从 s 中选择字符。 从 s 中选出 最大 的字符,将它 接在 结果字符串的 后面 。 从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。 重复步骤 5 ,直到你没法从 s 中选择字符。 重复步骤 1 到 6 ,直到 s 中所有字符都已经被选过。 在任何一步中,如果最小或者最大字符不止一个 ,你可以选择其中任意一个,并将其添加到结果字符串。 请你返回将 s

18、字符串和数值转换函数

六月ゝ 毕业季﹏ 提交于 2020-03-08 09:46:16
1、atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include<stdlib.h> 定义函数 doubleatof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include<stdlib.h> main() { char *a=”-100.23”; char*b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 2、atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include<stdlib.h> 定义函数 intatoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符

Jquery正则表达式公式

巧了我就是萌 提交于 2020-03-08 09:41:42
1.非负整数 /^\d+$/ 2.正整数 /^[0-9]*[1-9][0-9]*$/ 3.非正整数 /^((-\d+)|(0+))$/ 4.负整数 /^-[0-9]*[1-9][0-9]*$/ 5.整数 /^-?\d+$/ 6.非负浮点数 /^\d+(\.\d+)?$/ 7.正浮点数 /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/ 8.非正浮点数 /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/ 9.负浮点数 /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/ 10.浮点数 /^(-?\d+)(\.\d+)?$/ 11.数字 /^\d+(\.{1}\d+)?$/ 12.由26个英文字母组成的字符串 /^[A-Za-z]+$/ 13.由26个英文字母的大写组成的字符串 /^[A-Z]+$/ 14.由26个英文字母的小写组成的字符串 /^[a-z]+$/ 15.由数字和26个英文字母组成的字符串 /^[A-Za-z0-9]+$/ 16.由数字、26个英文字母或者下划线组成的字符串 /^\w+$/ 17.匹配所有单字节长度的字符组成的字符串

字符编码,字符与字节,文件操作

北城以北 提交于 2020-03-08 09:38:27
一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float('-.5') | float('3.14') | str(数字) 3.重点 - str与list:    'abc' => ['a', 'b', 'c']: list('abc') | ''.join(['a', 'b', 'c'])    'abc|def|xyz' => ['abc', 'def', 'xyz']: s.split('|') | '|'.join(ls) 4.list、set、tuple:类型() 5.list与dict:   a=1&b=2&c=3 <=> [('a', 1), ('b', 2), ('c', 3)] <=> {'a': 1, 'b': 2, 'c': 3}   dic = {}    for k, v in [('a', 1), ('b', 2), ('c', 3)]:   dic[k] = v    ls = []   for k, v in {'a': 1, 'b': 2, 'c': 3}.items():   ls.appen((k, v)) 6.可以通过字典构建任意数据的映射关系:    type_map = {    1: '壹',   

php系统函数

时光毁灭记忆、已成空白 提交于 2020-03-08 08:04:56
系统函数 数组相关的函数: 数组的键/值操作: 1.array_values($arr) 返回数组中所有的值并给其建立数字索引 2.array_keys($arr[, '值'[, true]]) 返回数组中所有的键名 给'值'表示拿出该值的键 给'true'表示值用===判断 3.in_array('值', $arr[, true]) 判断数组中是否有某个值 给true表示用===判断 4.array_key_exists('键', $arr) 判断数组中是否有某个键 5.array_flip($arr) 键值交换 6.array_reverse($arr[, true]) 反转数组 给true表示保留原来的数字下标 统计与唯一性: count($arr[, 1]) 统计数组元素的个数 给1表示递归统计数组个数(不常用) array_count_values($arr) 统计数组中值出现的次数 注意:只能统计string或者int,否则报错 substr_count($str,',')统计字符串某字符出现的次数。 array_unique($arr) 去除数组中重复的元素,保留前面的值 使用回调函数过滤数组: array_filter($arr, callback); 会将数组中的每个值都传给回调函数,在回调函数中返回true就保留该值,返回false就不保留 数组排序函数: 1

写给小白的Python之004:数据类型之字符串

让人想犯罪 __ 提交于 2020-03-08 07:51:00
导读: 1.字符串 2.转义字符 3.字符串的运算 4.字符串的索引 5.字符串的切片 6.字符串的常用操作 字符串是Python中很重要的数据类型。 一、字符串 1. 如何表示字符串 单引号、双引号、三引号。 >>> 'hello' 'hello' >>> "hello" 'hello' >>>''' Tom said:"I'm Tom" ''' 'Tom said:"I'm Tom" ' 2. 1和 '1' 是有区别的 >>> type(1) # 1 <class 'int'> >>> type('1') # '1' <class 'str'> 注:type()可查看数据的类型。int表示整型。str表示字符串。 3. 引号的包裹问题 相同的引号不能互相包裹,只能是不同引号间包裹。 >>> "let's go" "let's go" >>> 'let's go' File "<stdin>", line 1 'let's go' ^ SyntaxError: invalid syntax >>> 'let"s go' 'let"s go' 可以使用转义字符:不推荐使用 >>> 'let\'s go' "let's go" 4. 代码换行 Python的IDLE中推荐一行输入79个字符,那怎样使代码换行呢? >>> "hello world hello world hello

C++中关于String函数的常用方法总结

不想你离开。 提交于 2020-03-08 06:54:46
一. string的构造函数的形式: string str:生成空字符串 string s ( str ) :生成字符串为str的复制品 string s ( str , strbegin , strlen ) :将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值 string s ( cstr , char_len ) :以C_string类型cstr的前char_len个字符串作为字符串s的初值 string s ( num , c ) :生成num个c字符的字符串 string s ( str , stridx ) :将字符串str中从下标stridx开始到字符串结束的位置作为字符串初值 eg : string str1 ; //生成空字符串 string str2 ( "123456789" ) ; //生成"1234456789"的复制品 string str3 ( "12345" , 0 , 3 ) ; //结果为"123" string str4 ( "012345" , 5 ) ; //结果为"01234" string str5 ( 5 , '1' ) ; //结果为"11111" string str6 ( str2 , 2 ) ; //结果为"3456789" # include <iostream> # include

Django Cookie

断了今生、忘了曾经 提交于 2020-03-08 06:20:17
转载 博客原文 前言 HTTP协议 是短连接、且状态的,所以在客户端向服务端发起请求后,服务端在 响应头 加入cokie 响应给浏览器,以此记录客户端状态; cook是来自服务端,保存在浏览器的键值对, 主要应用于用户登录; cookie如此重要!!那么如何在Django应用cookie呢? cookie又有什么缺陷呢? 一、Django应用cookie 参数介绍 1、 max_age=1 :cookie生效的时间,单位是秒 2、expires:具体过期日期 3、path='/':指定那个url可以访问到cookie;‘/’是所有; path='/' 4、 domain=None(None代表当前域名):指定那个域名以及它下面的二级域名(子域名)可以访问这个cookie 5、secure=False:https安全相关 6、httponly=False:限制只能通过http传输,JS无法在传输中获取和修改 设置cookie 1.普通 obj.set_cookie("tile","zhanggen",expires=value,path='/' ) 2.加盐 普通cookie是明文传输的,可以直接在客户端直接打开,所以需要加盐,解盐之后才能查看 obj.set_signed_cookie('k','v',salt="zhangge") 获取cookie 1、普通 obj.set

django之cookie+session

断了今生、忘了曾经 提交于 2020-03-08 06:19:37
前言 HTTP协议 是短连接、且状态的,所以在客户端向服务端发起请求后,服务端在响应头 加入cokie响应给浏览器,以此记录客户端状态; cook是来自服务端,保存在浏览器的键值对,主要应用于用户登录; cookie如此重要!!那么如何在Django应用cookie呢? cookie又有什么缺陷呢? 一、Django应用cookie 参数介绍 1、 max_age=1 :cookie生效的时间,单位是秒 2、expires:具体过期日期 3、path='/':指定那个url可以访问到cookie;‘/’是所有; path='/' 4、 domain=None(None代表当前域名):指定那个域名以及它下面的二级域名(子域名)可以访问这个cookie 5、secure=False:https安全相关 6、httponly=False:限制只能通过http传输,JS无法在传输中获取和修改 设置cookie 1.普通 obj.set_cookie("tile","zhanggen",expires=value,path='/' ) 2.加盐 普通cookie是明文传输的,可以直接在客户端直接打开,所以需要加盐,解盐之后才能查看 obj.set_signed_cookie('k','v',salt="zhangge") 获取cookie 1、普通 request.COOKIES.get(