Python字符串函数怎样使用,有哪些实用技巧
Admin 2022-05-23 群英技术资讯 325 次浏览
>>> dir("") ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
其也提供对功能函数的查询,比如经常使用的math()函数,所以无论是对后面所阐述的字符串函数还是其它函数,我们都可以用dir()内置函数来了解其它函数的类型、定义等等。下面所讲述的字符串函数会区分其不同功能来分开介绍,其函数的实现功能大致包含以下六个功能:索引特殊字符串、设置字符格式、修改字符串大小写、查看字符串特定格式、替换特定字符串、拆分特定字符串。
假如我们需要在一段字符串中查找特定的子串时,通常涉及以下几个函数:
虽然这几个函数都实现了搜索特定字符串的功能,但还是包含一些区别的:
1. 函数 index 和 find 之间的差别在于没有找到指定子串时的情形 ,示例如下:
函数index会抛出异常 ValueError,而如果没有找到指定的子串,函数find将返回 -1。
2.字符串搜索函数通常从左往右(从开头往末尾)搜索,但以 r 打头的函数从右往左搜索。例如:
可以看到, 函数 find 和 index 返回传入字符串第一次出现时的起始位置索引,而 rfind 和 rindex 返回传入字符串最后一次出现时的起始位置索引。
下表列出了一些设置字符串格式的函数:
center(),ljust()和rjust()函数在日常用的使用很少,反倒是Python2.6以后的format()受到了广大字符串处理者的使用。使用format函数需要给它提供变量或者值,一个简单的例子:字符串中的 {0} 和 {1} 引用 format 的参数:它们将被替换为相应字符串或变量的值。也可以使用关键字参数的名称,
>>> '{0} like eat {1}'.format('Wangzi','banana') 'Wangzi like eat banana' >>> '{who} {id} is Linda'.format(who='My',id='name') 'My name is Linda'
这是一些比较简单的例子,还有更多细节方面的使用可以参考string — Common string operations — Python 3.10.1 documentation。下面举一个在抓取jmx数值的实际使用案例。在大数据组件使用过程中,我们通常抓取jmx接口的数据获取详情,然后将数据接到相关的展示系统中来监控和展示:例如我们需要抓取一个队列任务扥id,使用者,运行时间等指标值(此处IP做了处理,有问题可以咨询博主)。
import json import urllib3 import re def get_ative_resourcemanager(rm1, rm2): http = urllib3.PoolManager() rm_list = [rm1, rm2] for resourcemanager in rm_list: url = 'http://{0}/ws/v1/cluster/info'.format(resourcemanager) response = http.request('GET', url) data = json.loads(response.data) ha_state = data['clusterInfo']['haState'] if ha_state == "ACTIVE": return resourcemanager '''Conversion time function''' # 毫秒级转化为hour/minutes def conver_time(allTime): hours = (allTime/(60*60*1000)) return hours '''get active resourcemanager yarn application metrics''' def get_queue_metrics(): active_resoucemanager = get_ative_resourcemanager('ip1:port', 'ip2:port') http = urllib3.PoolManager() url = 'http://{0}/ws/v1/cluster/apps'.format(active_resoucemanager) response = http.request('GET', url) data = json.loads(response.data).get('apps').get('app') length = len(data) for i in range(length): '''判断application状态''' application_state = data[i]['state'] queue = data[i]['queue'] queue_name = re.findall(r'root.*',queue,re.IGNORECASE) #print(mobdi_queue) if (application_state == 'RUNNING' or application_state == 'ACCEPTED'): if queue_name: id_metric = data[i]['id'] user_metric = data[i]['user'] queue_metrics = data[i]['queue'] elapsed_time = data[i]['elapsedTime'] runtime_metric = conver_time(elapsed_time) print(str(id_metric) + " " + str(user_metric) + " " + str(queue_metrics) + " " + str(runtime_metric)) if __name__ == '__main__': '''''' get_queue_metrics()
执行结果:
提供改变字符串大小写的函数有以下五个函数:
Python 提供了各种修改字母大小写的函数,如上表。但注意标红的地方,Python并没有修改字符串,而是在这几个函数中,创建并返回一个新字符串,并没有真正修改string源字符串。
选定字符串函数通常用于删除字符串开头或者末尾多余的字符串,具体有striip,lstrip和rstrip三个函数。
1.如果不加字符串,将删除空白字符串:
2.删除字符串情况:
Python提供了以下几个拆分字符串的函数,主要将字符串拆分成多个子串。
注意示例中存在string和string1两个字符串,函数 partition 和 rpartition 将字符串拆分为3部分,这两个函数总是返回一个这样的值:由3个字符串组成, 形式为 (head, sep, tail) ;而函数 split 以指定字符串为分隔符,将 字符串划分为一系列子串,返回一个字符串列表,列表总是分别以 [ 和 ] 打头和结尾,并用逗号分隔元素。splitlines函数按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,使用很少,而且会自行判断字符串是否包含换行符。
Python内置两个字符串替换函数,包括:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享的是有关Pytorch中gather的用法的内容,很多新手对于gather的用法不是很了解,因此分享一些给大家做个参考,希望大家阅读完这篇能有收获,接下来一起跟随小编看看吧。
这篇文章主要介绍了Python变量名详细规则详细变量值,Python需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名称,下面葛小编一起进入文章里哦阿姐更多详细内容吧
os.walk方法是python中帮助我们高效管理文件、目录的工具,在深度学习中数据整理应用的很频繁,如数据集的名称格式化、将数据集的按一定比例划分训练集train_set、测试集test_set。
自己写 Python 也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量。都有去看 Google 的 Python 代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学 Python,准备要学习 Python,希望这篇文章对你有用。
在Python中,我们会经常使用到字串符,用于编码码字。有的时候会需要比较字符串大小。本文主要介绍Python字符串比较大小方法:字符串的比较是比较ASCII码值 ,哪个值大哪个字符串就大。另外也可通过内置函数 ord() 获得每个字符的 Unicode 编码进行大小比较。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008