python字符串数据处理的一些笔记(连续字符、数字字母间隔等) |
您所在的位置:网站首页 › 妇科肿瘤标志五项是哪五项 › python字符串数据处理的一些笔记(连续字符、数字字母间隔等) |
目录 一、字符串处理 二、正则表达式函数说明 三、数据库遇到float数据类型存储的问题 四、参考帖子 一、字符串处理 1、判断字符串是否全部为数字:isdigit() 2、正则表达式判断字符串是否为ip地址: pattern = r'^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$' result = re.match(pattern, domain) 3、正则表达式判断字符串是否为域名: pattern = r'^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$' result = re.match(pattern, domain) DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。 4、获取连续字符个数 使用正则表达式将字符串进行分片,分片依据为是否是连续字符,然后再对分片的长度进行统计。 #第一种解法 sep = '|' separated_s = re.sub(r'(.)\1*', lambda m: m.group(0)+sep, str1)#lambda作为一个表达式,定义了一个匿名函数,代码m为入口参数,m.group(0)+sep为函数体,即返回值。在这里lambda简化了函数定义的书写形式。 for node in separated_s.split(sep)[:-1]:len_node = len(node) if len_node>1: count+=len_node #第二种解法 it = re.finditer(r'(.)\1*', str1) for node in it: len_node = len(node.group())#注意这里的.group() if len_node>1: count+=len_node5、计算连续辅音字母个数 使用正则表达式将字符串进行分片,分片依据为是否是连续辅音字符,然后再对分片的长度进行统计。 it = re.finditer(r'([bcdfghjklmnpqrstvwxyz])*', str1) for node in it: #print node.group() len_node = len(node.group()) if len_node>1: count+=len_node6、是否存在字母间数字 使用正则表达式进行匹配 result = re.search(r'[a-z][0-9][a-z]', str1) 7、字符串包含特定字符的个数 pattern = re.compile(r'-')result = pattern.findall(str1)return len(result) 二、正则表达式函数说明 re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 函数语法: re.match(pattern, string, flags |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |