导航:首页 > 编程语言 > python不包含字符串

python不包含字符串

发布时间:2023-04-10 02:46:14

1. python re 正则匹配某类字符前的所有字符(不包括该类字符)

首先,“匹配除2012这个字符串以外的任意字符?”语义不明,你是想将其从原字符串中删除还是要匹配2012以外的年份?
姑且认为你的意思是后者,也即在一个特定模式里排除某些匹配的实例。
方法一、先预处理,将要匹配的字符串里的2012替换成不可能出现的字符串,然后再进行匹配处理,最后再将其替换回2012。
方法二、使用不匹配的前向断言 (?! ...):
import re

s = '....<b>0033<b> <b>1033<b> <b>2012<b> <b>2033<b> <b>2043<b> <b>3033<b>.....'
p = re.compile('<b>(?!2012)[0-9]{4}<b>')
for m in re.finditer(p, s):
print m.group()
可以匹配出
<b>0033<b>
<b>1033<b>
<b>2033<b>
<b>2043<b>
<b>3033<b>
而没有'<b>2012<b>'

2. python re模块如何判断字符串中包含某些特定字符如文件名中不能包含'','/'等字符,如何检查

方法有很多,例如使用首尾位置标记^$+非法字符集[^]实现:

regex=r'^[^\/:*?"<>|]+$'#不能为空,不能含有/:*?"<>|等字符
tests=['abc_def',
'abc.def',
'abc/def',
'?"',
'']
matches=[iforiintestsifre.match(regex,i)]
print(matches)

还可以通过负向零宽断言(?!)等方式实现。

3. day-04 总结python字符串

1.什么是字符串
序列,有序,不可变的
用单引号或者双引号任意字符集,

2,字符串中的字符
普通字符:ན', 'sdfsdfsd', '+ + (**&^%$#@@', '发技术规范举案说法'

'''
python中的字符采用的是unicode编码

1.什么是编码
就是数字和字符的一一对应的,其中字符对应的数字就是字符的编码
a - 97
b - 98

2.编码方式
ASCII码表 :针对数字字符,字母字符(26个小写字母和26个大写字母),一些英文中对应的符号进行编码
小写字母要大于大写字母的编码值,采用一个字节对字符进行编码,只能对128个字符进行编码

Unicode码 :Unicode码包含了ASCII码表,同时能够对世界上所有语言对应的符号进行编码,
采用两个字节进行编码,能够编码65536个字符

3.两个函数
chr(编码值)--将字符编码值转化为字符
ord(字符)-- 获取字符对应的编码值
中文编码范围 0x4e00~~~~~0x9fa5

一旦一个字符串确定了,那么字符串中每个字符的位置就确定了,而且每个字符会对应一个表示其位置和顺序的下标值

1,下标(索引)
字符串中的每一个字符都有一个下标,代表在字符串中的位置
下标范围是:0到字符串长度---1 0(代表第一个字符的位置)
-1 ~ 字符串长度 -1(代表字符串中最后一个字符的位置)

'abc' # ''

获取单个字符
语法:字符串[下标]--获取字符串中指定下标对应的字符
说明 字符串--可以是字符串常量,也可以是字符串变量
[]---固定写法
下标--字符的下标,不能越界。

获取部分字符
语法:字符串[开始下标:结束下标:步长]
步长-- 一个整数
功能: 从开始下标获取到结束下标前位置,每次下标值增加步长,结果是字符串
注意:当步长是整数,开始下标对应的字符要在结束下标的前面
当步长是负数,开始下标对应的字符要在结束下标的后面

方法2:字符串[开始下表:结束下标](相当于步长是一)

获取部分字符,省略下标
获取部分字符的时候开始下标和结束下标都可以省略
a.开始下标省略
字符串[:结束下标:步长] 或者字符串[:结束下表]
字符串是正数:从字符串开头开始往后获取
字符串是负数:从字符串结尾开始往前获取

结束下标省略
字符串[开始下标::步长]
步长是正数,从开始下标从前往后获取到字符串最后
步长是负数,从开始下标从后往前获取到字符串开始

,加法运算
字符串1 + 字符串2 将两个字符串拼接在一起,产生一个新的字符串

乘法运算
字符串 * n(正整数):字符串中的内容重复n次产生一个新的字符串

比较运算符
a. == !=
字符串1 == 字符串2 ---------判断两个字符串是否相等

b.> ,< , >= ,<= (所有的大写字母编码都比小写的编码小)
两个字符串比较大下:从第一个开始,找到第一对不同的字符,然后比较他们的编码值的大小

in 和 not in
字符串1 in 字符串2 :判断字符串2是否包含字符串1
字符串1 not in 字符串2 :判断字符串2是否不包含字符串1

len函数
len(序列)------- 获取序列的长度
len(字符串)----获取字符串中字符的个数

str函数
str(数据): 将数据转换成字符串

其他数据转换成字符串
所有的数据都可以转换成字符串,转换的时候就是在数据的值的最外面加引号

补充:系统对应的类型名不能用来给变量命名

字符串转其他类型
字符串转整数: int(字符串) 去掉引号后本身就是个整数的字符串才能转
字符串转浮点型: Float(字符串)
字符串转布尔: boll(字符串) ,除了空串会转化成False,其他的都会转化成True

格式字符串
指的是字符串中通过格式占位符来表示字符串中变化,然后后面再通过其他的值来给占位符赋值
含有格式占位符的字符串 % (占位符对应的值)
说明:
含有格式占位符有固定写法,可以有多个
%----固定写法
()----里面值 的个数要和前面的格式占位符一一对应
%d--整数
%s--字符串
%f--小数
%c--字符(可以将数字转换成字符)

字符串.capitalize() - 将字符串第一个字符转换成大写

2.字符串对齐
字符串.center(width, fillchar) - 居中
字符串.ljust(width, fillchar) - 左对齐
字符串.rjust(width, fillchar) - 右对齐

width - 正整数,表示新的字符串的宽度
fillchar - 字符, 填充字符串

字符串.isalpha 若字符串至少有一个字符,并且所有字符都是字母就返回True,否则返回False

字符串。isdigit() 若字符串中只包含数字就返回True,否则返回False

若字符串中只包含数字字符,则返回True,否则返回 False

3.join(seq)
字符串1.join(字符串2): 将字符串1的内容插入到字符串2的每个字符之间

max(字符串) 编码最大
min(字符串)

count(str)|返回 str 在 string 里面出现的次数

|islower()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

expandtabs(tabsize=8)|把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。

|isspace()|如果字符串中只包含空白,则返回 True,否则返回 False

endswith(suffix)|检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

4. 【python】判断两个字符串的包含关系

题目:给定由字母组成的字符串s1和s2,其中,s2中字母的个数少于s1,陪芦如何判断s1是否包含s2?

分析:哈希法。

code:

str1 = 'aaaabbce'

str2 = 'abcbbaaad'

list1 = list(str1)

list2 = list(str2)

i = 0

hashTable1 = dict()

while i < len(str1):

    if list1[i] not in hashTable1:

        hashTable1[list1[i]] = 0

    i += 1

i = 0

hashTable2 = dict()

while i < len(str2):

    if list2[i] not in hashTable2:

        hashTable2[list2[i]] = 0

    i += 1

count = 0

for k, v in hashTable1.items():

    if k in hashTable2:

   锋轮     count += 1

    else:

        print("不包含"银乱信)

        break

程序运行结果:
不包含

5. 【python】判断一个字符串是否包含重复字符

题目:判断一个字符串是否包含重复字符。例如good则包含,abc则不包含。

分析:哈希法。

code:

(1)

strs = 'Good'

hashTable = dict()

listStrs = list(strs)

i = 0

while i < len(strs):

    if listStrs[i] in hashTable:

        print("有重复字符")

        break

    else:

        hashTable[listStrs[i]] = None

    i += 1

    if i >= len(strs):

        print("没用重复字符")

        break

程序运行结果:

有重复字符

(2)

def longest_repetition(chars):

    if len(chars) is None or len(chars) <= 1:

        return (chars, len(chars))

    result = [1] * len(chars)

    for left in range(len(chars) - 1):

        for right in range(left + 1, len(chars)):

            if chars[left] == chars[right]:

                print("a")

                result[left] += 1

            else:

                print("aa")

                break

    #return result

    return (chars[result.index(max(result))], max(result))

if __name__ == "__main__":

    txt = 'banaaana'

    print(longest_repetition(txt))

6. python如何检测字典的键中是否含有某串字符

1、说明
python中检测字典的键中是否含有某串字符,便利字典键值,再判断字符串是否在键值中即可。

2、示例代码:
# 定义一个字典
dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}
# 遍历字典键中是否包含1984
for key in dic:
if '1984' in key:
print('键值中包含字符串"1984"')
# 或者需要的其它操作
else:
print('键值中不包含字符串"1984"')

3、执行结果:
键值中包含字符串"1984"
键值中不包含字符串"1984"
键值中包含字符串"1984"


4、其它说明:
python使用for in直接操作字典就是遍历字典的键值,python使用in操作来判断字符串中是否包含子串最方便,要优于使用字符串的函数index或者find。

index函数在找不到子串时会报错,find函数会返回-1。

7. python 怎样用正则表达式匹配不包含某些字符的字符串

rex = r'[^abcde]*'re.match(rex, 'this is a string')返回值是None则不匹配,反之匹配 当然先compile一下也很好。唯裤孝

拓展:

1、Python(英语发音:/ˈ纯誉paɪθən/), 是一种面向对象、解释型计算机程序设计语指稿言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。

2、它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写。

8. 怎么样使用python3查找文件中是否包含某个字符串,没有则在文件末尾追加进去

a = 'RQUOTAD_PORT=30001'
with open('nfs','r') as f:
if a not in f.read():
print(a)
f=open('/nfs','a')
f.write("RQUOTAD_PORT=30001 ")
f.close()

9. python 正则替换不包含某字符串的其他字符

这个是数颤茄字个哗洞察数乱茄不定,

10. Python处理字符串必备方法

字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。

▍1、Slicing

slicing切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)

▍2、****strip()

strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

在使用strip()方法时,默认去除空格或换行符,所以#号并没有去除。

可以给strip()方法添加指定字符,如下所示。

此外当指定内容不在头尾处时,并不会被去除。

第一个 前有个空格,所以只会去取尾部的换行符。

最后strip()方法的参数是剥离其值的所有组合,这个可以看下面这个案例。

最外层的首字符和尾字符参数值将从字符串中剥离。字符从前端移除,直到到达一个不包含在字符集中的字符串字符为止。

在尾部也会发生类似的动作。

▍3、****lstrip()

移除字符串左侧指定的字符(默认为空格或换行符)或字符序列。

同样的,可以移除左侧所有包含在字符集中的字符串。

▍4、rstrip()

移除字符串右侧指定的字符(默认为空格或换行符)或字符序列。

▍5、****removeprefix()

Python3.9中移除前缀的函数。

和strip()相比,并不会把字符集中的字符串进行逐个匹配。

▍6、removesuffix()

Python3.9中移除后缀的函数。

▍7、****replace()

把字符串中的内容替换成指定的内容。

▍8、****re.sub()

re是正则的表达式,sub是substitute表示替换。

re.sub则是相对复杂点的替换。

和replace()做对比,使用re.sub()进行替换操作,确实更高级点。

▍9、****split()

对字符串做分隔处理,最终的结果是一个列表。

当不指定分隔符时,默认按空格分隔。

此外,还可以指定字符串的分隔次数。

▍10、****rsplit()

从右侧开始对字符串进行分隔。

▍11、****join()

string.join(seq)。以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。

▍12、****upper()

将字符串中的字母,全部转换为大写。

▍13、****lower()

将字符串中的字母,全部转换为小写。

▍14、capitalize()

将字符串中的首个字母转换为大写。

▍15、****islower()

判断字符串中的所有字母是否都为小写,是则返回True,否则返回False。

▍16、isupper()

判断字符串中的所有字母是否都为大写,是则返回True,否则返回False。

▍17、****isalpha()

如果字符串至少有一个字符并且所有字符都是字母,则返回 True,否则返回 False。

▍18、isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False。

▍19、isalnum()

如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回 False。

▍20、count()

返回指定内容在字符串中出现的次数。

▍21、****find()

检测指定内容是否包含在字符串中,如果是返回开始的索引值,否则返回-1。

此外,还可以指定开始的范围。

▍22、rfind()

类似于find()函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。

▍23、startswith()

检查字符串是否是以指定内容开头,是则返回 True,否则返回 False。

**
**

▍24、****endswith()

检查字符串是否是以指定内容结束,是则返回 True,否则返回 False。

▍25、****partition()

string.partition(str),有点像find()和split()的结合体。

从str出现的第一个位置起,把字符串string分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string中不包含str则 string_pre_str==string。

▍26、center()

返回一个原字符串居中,并使用空格填充至长度width的新字符串。

▍27、ljust()

返回一个原字符串左对齐,并使用空格填充至长度width的新字符串。

▍28、rjust()

返回一个原字符串右对齐,并使用空格填充至长度width的新字符串。

▍29、f-Strings

f-string是格式化字符串的新语法。

与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!

▍30、swapcase()

翻转字符串中的字母大小写。

▍31、zfill()

string.zfill(width)。

返回长度为width的字符串,原字符串string右对齐,前面填充0。

参考文献: https://mp.weixin.qq.com/s/9cuO-KL3g9ldqRGGZBVnjw

阅读全文

与python不包含字符串相关的资料

热点内容
被子收纳袋压缩真空 浏览:28
h1z1选什么服务器 浏览:484
苹果版三国杀怎么在安卓上下载 浏览:728
安润国际app在哪里下载 浏览:438
iospdf教程下载 浏览:332
加密货币换手率300表示什么 浏览:727
手机wps新建文件夹存照片 浏览:399
单片机rgbled 浏览:963
怎么通过文件加密后发给微信好友 浏览:90
用虚拟机编程 浏览:821
公司代理服务器有什么要求 浏览:244
服务器和数据库怎么联系 浏览:633
hbase配置压缩 浏览:918
java000 浏览:479
华为手机文件夹的字体颜色 浏览:636
安卓怎么换相机 浏览:935
华为相片文件夹怎么删除重复照片 浏览:316
plc编程视频教程大全 浏览:940
直播用哪个app播放背景音乐 浏览:852
点歌机系统app在哪里下载 浏览:613