NLP_Python3——字符串的一些基本操作方法

博客主要介绍了Python中字符串的多种操作,包括去空格及特殊符号、连接字符串、判断子集、比较、大小写转换、反转、查找、分割等,还提及了计算字符串中出现频次最多的符号以及max函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.去空格及特殊符号:

s = ' How are you!'
print(s.strip())    # 去除字符串两边的空格
print(s.lstrip(' How '))    # 从字符串左边去掉‘ How ’,若字符串左边不是以‘ How ’开头,则无效
print(s.rstrip('!'))    # 从字符串右边去掉‘!’,若字符串右边不是以‘!’结尾,则无效

*******
输出结果:
How are you!
are you!
 How are you

2.连接字符串:

s1='abc'
s2='def'
s3=s1+s2
print(s3)

3.判断字符串是否属于另一个字符串子集

s1 = 'How are you!'
s2 = 'you'
s_index=s1.index(s2)    # 获取s2在s1中的位置,若s_index<0则s1不包含s2
print(s_index)
print(s2 in s1) #若s1包含s2则返回True,否则返回False

*****
输出结果:
8
True

4.比较字符串

import operator
s1 = 'How are you'
s2 = 'How old are you'
print(operator.eq(s1,s2))    # 比较两个字符串,等同于s1==s2,若相等返回True否则返回False
print(operator.lt(s1,s2))    # 等同于s1<s2
print(operator.le(s1,s2))    # 等同于s1≤s2
print(operator.ne(s1,s2))    # 等同于s1!=s2
print(operator.gt(s1,s2))    # 等同于s1>s2
print(operator.ge(s1,s2))    # 等同于s1≥s2

*****
输出结果:
False
True
True
True
False
False

5.字符串中大小写转换

s1='AbCdEfG'
print(s1.upper())    # 全部字符转为大写
print(s1.lower())    # 全部字符转为小写

*****
输出结果:
ABCDEFG
abcdefg

6.反转字符串:

s1='abcdefg'
print(s1[::-1])    # 翻转字符串

*****
输出结果:
gfedcba

7.查找字符串

s1= 'how old are you'
s2 = 'old'
print(s1.find(s2))    # 从s1中找到s2的位置,若不存在返回-1

*****
输出结果:
4

8.分割字符串

s1='apple,banana,orange,pear'
s_list=s1.split(',')    # 将字符串按照,拆分为一个字符列表
s2=s1[s1.find(','):]    # 从第一个,处开始截取字符串
print(s_list)
print(s2)

*****
输出结果:
['apple', 'banana', 'orange', 'pear']
,banana,orange,pear

9.计算字符串中出现频次最多的符号

# 方法一
import re
from collections import Counter

def Get_max_value_l(text):
    text = text.lower()    # 将所有字符转为小写
    result = re.findall('[a-z]',text)    #获取字符串中所有字母
    count=Counter(result)    # 查询所有字母的个数
    count_list = list(count.values())    
    max_value=max(count_list)    
    max_list=[]
    for k,v in count.items:
        if v==max_value:
            max_list.append(k)
    max_list=sorted(max_list)
    return max_list[0]


# 方法二
from collections import Counter

def get_max_value_2(text):
    count = Counter([x for x in text.lower() if x.isalpha()])
    m = max(count.values())
    return sorted([x for (x,y) in count.items() if y == m])[0]


# 方法三
import string

def get_max_value_3(text):
    text = text.lower()
    return max(string.ascii_lowercase,key=text.count)

10.max函数的用法

max(renge(100),key = lambda x:x>50)    # 使用key值导入拉姆达表达式,规定在0-99的数列中,返回大于50的数中得第一个

max('as','bd',key = lambda x : x[1])    # 使用key值导入兰姆达表达式,将字符串的第二个字符进行对比,返回第二个字符比较大的字符串

max('qwertyuiopasdfghjklzxcvbnm',key='how are you'.count)    # 使用key值导入兰姆达表达式,返回'how are you'中出现次数最多的字符

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值