添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

-------------------------2021年12月8日修正------------------------

想搞某些api的二维码登录时,需要Key,然后从服务器获取的数据特别长,180多位的字符,但是我需要的字符串在这其中的一段里面,如何通过Python来实现筛选这段字符串就成了关键问题。

方法有很多种,比如用字典,正则表达式,下标范围,xPath等等…

  • 第一种 - 字典
# 严格来说,字典不算字符串,因为这两个是不同的数据类型,但小白容易把这当作字符串
varName={"name":"小明","age":"16"}
# 直接使用['keyName']的方式就完事了,如下
varName['name'] # 此处注意,字典内的键值是区分大小写的
# 如果变量是这样的,那另当别论
varName="{'name':'小明','age':'16'}"
varName='{"name":"小明","age":"16"}'
# 导入json模块
import json
json.loads(varName)
# 然后再使用上面的方法
  • 第二种 - 正则表达式

有关Python正则表达式的教程可看此文章Python正则表达式指南
或者官方文档re — Regular expression operations — Python 3.10.0 documentation

a="我是你爸爸的弟弟的儿子的哥哥啊!你怎么能不认识我呢?我在你小时候还给你发了个50块钱的红包呢!Why?"
# 比如我们需要从上面的话里面筛选我们想要的内容,比如红包金额
# 由于此处语句极为简单,所以可以直接使用如下代码
import re
re.findall(r"(\d+)",a,re.S)
# 那如果是如下呢?
a="+86 12345678901"
b="123123198810102333"
c="I love you~"
d="我们明天就要截止了,日期是2012年11月21日14点00分"
# 变量a, 筛选手机号
re.findall(r".86\ (\d+)",a,re.S)
# 变量b, 筛选出生年月日
re.findall(r"\d{6}(\d{8})\d+",b,re.S)
# 变量c, 筛选出单词
re.findall(r"([a-zA-Z]+)",c,re.S)
# 变量d, 筛选年月日时分
re.findall(r"(\d+)\w(\d+)\w(\d+)\w(\d+)\w(\d+)",d,re.S)
  • 第三种 - 下标范围
a="key=abcdef1234567890&userName=admin&password=1234567"
# 筛出userName
a[30:35]
>>> 'admin'
 

暂时介绍这么多,有疑问请评论

起因想搞某些api的二维码登录时,需要Key,然后从服务器获取的数据特别长,180多位的字符,但是我需要的字符串在这其中的一段里面,如何通过Python来实现筛选这段字符串就成了关键问题。解法你可以把字符串作为数组读取下标型输出,具体方法为#这是一堆字符串变量="{{123456789012345678901234567890}}"我只想要从第三位开始到第十六位结束的字符怎么做?#解法变量=变量[3:16]print(变量)这样你就获得了以下数据2345678901234其他筛
工作数据的处理往往会遇到筛选出不符合条件的或者不包含某个字符的dataframe,我们会如何去做呢? 可能你会想到用python写一个函数,然后用panda的apply函数或者map函数来进行处理,不可否认这是一方法,但是实际上pandas已经给我们开发了这样的函数,那我们为什么不直接调用呢? 首先看一下,怎么筛选出包含某些字符串的数据 #这是使用语法,模糊匹配 df[ df['通...
文章目录1、背景2、遇到坑3、找到 lstrip() 坑的真相4、解决方案4.1、方法1 split4.2、方法2 replace5、案例5.1、源代码5.2、效果6、延伸6.1、看字符串开头是否是指定字符串6.2、看字符串是否存在指定字符串 最近的项目,再次踩到Python字符串处理的坑,决定把此次解决方案记录一下,以勿踩坑。 2、遇到坑 原本字符串:大坪英利国际8号楼88-88号重庆汉乔科技有限公司大坪英利国际8号楼 去除最左边的字符串:大坪英利国际8号楼 预期结果:88-88号重庆汉乔科技有限公司大坪英利国际8号楼 自然而然,第一个想到的就是lstrip()函数。
如何在python pandas的dataframe对象筛选出包含特定字符串的行? 以数据集df为例,df包含有name的行。如何筛选出name行,包含‘酒’字符的行? df = df[df['name'].str.contains('酒')] 是不是超级简单,试起来吧! 这里可以用来股票量化分析,对行业股票分析,筛选出行业分类包含酒的行业。 sum = 0 #定义变量,准备记录数字的和 for i in range(len(s)): #遍历字符串 if s[i] >= '0' and s[i] <= '9': #如果i处的字符属于数字字符 sum = sum + int(s[i]) #将字符转成int,求和 return sum s = input(请输入一个字符串:) print(numsum(s)) 以上这篇python 计算一个字符串所有数字的和实例就是小编分享
str_1='wo shi yi zhi da da niu/n'str_list=list(str_1) nPos=str_list.index('/') str_list.insert(nPos,',') str_2=.join(str_list) print(str_2) 从文件提取行,在行最末尾插入一个逗号。 以上这篇Python 实现字符串指定位置插入一个字符就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python字符串循环左移Python拼接字符串的7
根据上列表的KEY1 , 筛选下列表的数据,也就是标黄的数据。数量不大的情况,一般就是遍历比较,逻辑简单,几行代码搞掂。 但如果列表达到万,或者百万、千万,那遍历效率就低了。 先构造测试的列表。 # 构造筛选目标列表,确保KEY不重复 n1 = 30000 n1_set = set([random.randint(1,n1) for n in range(n1)]) n1 = len(n1_set) list1 = [['110. from collections import Counter string = 'This is a sample string for counting words in Python. This string is just a sample.' words = re.findall(r'\w+', string.lower()) word_counts = Counter(words) print(word_counts) 输出结果: Counter({'this': 2, 'is': 2, 'a': 2, 'sample': 2, 'string': 2, 'for': 1, 'counting': 1, 'words': 1, 'in': 1, 'python': 1, 'just': 1}) 首先,使用正则表达式 `\w+` 匹配字符串的单词,并将单词全部转换为小写。然后使用 collections 模块的 Counter 函数统计单词出现的次数。最后输出结果即可。