목차
前言
一、最大化最小化方法
二、统计次数方法
三、去掉左右侧字符方法
四、字符串分隔方法
五、字符串替换方法
六、字符串拼接方法
七、判断是否为数字的方法
八、判断是否为空格的方法
九、判断前缀和后缀的方法
补充:更多Python字符串常用方法
백엔드 개발 파이썬 튜토리얼 Python 문자열의 일반적인 방법과 해당 응용 시나리오 분석

Python 문자열의 일반적인 방법과 해당 응용 시나리오 분석

Jun 01, 2023 pm 10:35 PM
python

前言

字符串作为一种重要的Python基本数据类型,在数据处理中发挥着不可或缺的作用,如果对它的方法能够灵活使用,能够达到事半功倍的效果。下面我们选取一些常用的方法,简述其应用场景。

一、最大化最小化方法

字符串的最大化方法upper()和最小化方法lower()可以将字符串全部转换为大写和小写。在数据处理分析过程中,如果涉及到字符串的比较和统计,尤其涉及到英文的,一般需要将字符串全部转化小写再进行比较统计,否则可能会不准。

比如根据用户的输入,决定接下来的程序是否执行,如果用户输入n则不执行,为了让程序设计的更加友好,需要考虑用户可能输入N的情况,该问题可以通过lower()或者upper()来解决。

>>> choice = input('是否继续执行程序,输入n或N则结束:')
是否继续执行程序,输入n或N则结束:N
>>> if choice == 'n'or choice == 'N':  # 常规处理方式
	      print('程序结束')
>>> if choice.lower() == 'n':  #  推荐用该方法处理
	      print('程序结束')
로그인 후 복사

比如现在通过分词工具,已经把一段英文分词单词的列表,现在要统计“when”出现的次数,一般需要再统计之前将字符串全部最小化下。

>>> words = ['When', 'you', 'fall', 'stand', 'up.', 'And', 'when', 'you', 'break', 'stand', 'tough', 'And', 'when', 'they', 'say', 'you', 'can't,', 'you', 'say', 'I', 'can', 'I', 'can']
>>> count = 0
>>> sta_word = 'when'
>>> for word in words:
	    if word.lower() == sta_word:
		    count += 1
>>> print('{}出现了{}次'.format('when', count))
when出现了3次
로그인 후 복사

二、统计次数方法

统计次数的count()方法可以快速统计字符串中某个子串出现的次数,但这个方法在列表数据类型中应用较多,在字符串中应用很少,使用不当容易造成不易察觉的错误。

比如统计“帽子和服装如何搭配才好看”这句话中“和服”出现的次数,虽然出现了“和服”,但不是想要统计的结果,对于英文中很多单词有多种时态,更是如此。通常,在统计文本中的词频之前,需要对文本进行分词处理,对于英文文本可能还需要进行词形还原,以便更准确地统计词频。

>>> "帽子和服装如何搭配才好看".count("和服")
1
>>> import jieba
>>> words = jieba.lcut("帽子和服装如何搭配才好看")
>>> words
['帽子','和','服装','如何','搭配','才','好看']
>>> words.count("和服") # 分词后再统计
0
로그인 후 복사

三、去掉左右侧字符方法

在做文本处理任务时,对于网络上爬取或者其他渠道获取的数据信息,经常会存在“噪声”,即会有一些没有实际意义的字符,干扰文本的格式和信息的提取,此时strip()lstrip()rstrip()方法就可以帮助删除掉字符串头部和尾部的指定字符。当字符没有被指定时,默认去除空格或换行符。lstrip()代表删除字符串左侧(即头部)出现的指定字符,rstrip()代表删除字符串右侧(即尾部)出现的指定字符。下面通过几个例子来说明。

>>> temp_str = "  tomorrow is another day "
>>> temp_str.strip()
'tomorrow is another day'
>>> temp_str = "#  tomorrow is another day @"
>>> temp_str.strip('#')
'  tomorrow is another day @'
>>> temp_str.strip('# @')
'tomorrow is another day'
>>> temp_str = "#@  tomorrow is another day @"
>>> temp_str.lstrip('@# ')
'tomorrow is another day @'
로그인 후 복사

四、字符串分隔方法

当字符串具有特定的格式,或者需要处理的数据具有结构化特点,比如excel表格的数据、或者json格式的文件等,当提取其中的某一个或几个字段时,需要先对字符串进行分隔。split()方法以指定的分隔符为基准,将分隔后得到的字符串以数组类型返回,方便进行之后的操作。当没有指定分隔符时,默认以空格分隔。

>>> temp_str = "Whatever is worth doing is worth doing well"
>>> temp_str.split()
['Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well']
>>> temp_str = "tomorrow#is#another#day"
>>> temp_str.split('#')
['tomorrow', 'is', 'another', 'day']
>>> temp_str = ‘"name":"Mike","age":18,"sex":"male","hair":"black"'
>>> temp_str.split(',')
['"name":"Mike"', '"age":18', '"sex":"male"', '"hair":"black"']
로그인 후 복사

五、字符串替换方法

字符串替换也是很常用的方法之一。例如发现有输入错误的时候,正确的要替换掉错误的,或者需要将一些没有意义的字符统一去除或者换成空格的时候,都可以考虑使用replace()方法。第三个参数为可选参数,表示替换的最大次数。

>>> temp_str = "this is really interesting, and that is boring."
>>> temp_str.replace('is','was')
'thwas was really interesting, and that was boring.'
>>> temp_str.replace('is','was')
'this was really interesting, and that was boring.'
>>> temp_str = 'I really really really like you.'
>>> temp_str.replace("really","",2)
'I   really like you.'
로그인 후 복사

上述示例表明,在编程中需要考虑替换字符串中所有包含目标字符串的单词的情况,而不仅仅是替换目标字符串本身。在处理英文字符串时,可以考虑在替换过程中添加空格以避免错误替换,就像第四行中的做法一样。

六、字符串拼接方法

字符串的拼接方法与其分隔方法可以看作是互逆操作,join()方法将序列中的元素以指定的字符连接,生成一个新的字符串。这个序列可以是字符串、元组、列表、字典等。

>>> seq = 'hello world'
>>> ":".join(seq)
'h:e:l:l:o: :w:o:r:l:d'
>>> seq = ('Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well')
>>> "*".join(seq)
'Whatever*is*worth*doing*is*worth*doing*well'
>>> seq = ['Whatever', 'is', 'worth', 'doing', 'is', 'worth', 'doing', 'well']
>>> " ".join(seq)
'Whatever is worth doing is worth doing well'
>>> seq = ['"name":"Mike"', '"age":18', '"sex":"male"', '"hair":"black"']
>>> "#".join(seq)
'"name":"Mike"#"age":18#"sex":"male"#"hair":"black"'
로그인 후 복사

七、判断是否为数字的方法

isdigit()方法用于判断一个字符串是否全部都由数字组成,返回值为布尔值。如果字符串中存在小数点或者符号,也不能认为全都是数字,如下例所示:

>>> num = "13579"
>>> num.isdigit()
True
>>> num = '1.0'
>>> num.isdigit()
False
>>> num = '-1'
>>> num.isdigit()
False
로그인 후 복사

八、判断是否为空格的方法

isspace()方法用于判断一个字符串是否全部都由空格组成,返回值为布尔值。要注意的是,空字符串返回False。如下例所示:

>>> t = ''
>>> t.isspace()
False
>>> t = '  '
>>> t.isspace()
True
로그인 후 복사

九、判断前缀和后缀的方法

startswith()endswith()分别用于判断字符串的前缀和后缀,即它的开始部分和结尾部分,返回值为布尔值,后面有两个可选参数,相当于对字符串做一个切片后再判断前缀/后缀。如下例所示:

>>> temp_str = "Whatever is worth doing is worth doing well"
>>> temp_str.startswith("W")
True
>>> temp_str.startswith("What")
True
>>> temp_str.startswith('Whatever',2)
False
>>> temp_str.endswith("well",2)
True
>>> temp_str.endswith("we",2,-2)
True
로그인 후 복사

补充:更多Python字符串常用方法

a = "hello world"
# 字符串不能通过索引进行修改  name[0] = 'q'
 
# 切片,查找字符串当中的一段值,[起始值:终止值:步长]不写步长默认是1
print(a[0:5:])
print(a[::-1])  # 步长负数倒过来走,不写起始值和终止值就走完全部
print(a[::1])
print(len(a))  # len方法获取字符串的长度
 
# in 和 not in :判断一个字符串是否在一个大的字符串中
# 返回值为布尔类型
print('hello' in 'hello world')
print('nihao' not in 'hello world')
 
# 字符串的增
print('nihao', 'Python')
print('nihao' + 'Python')
 
# format    前面的大括号写上数字代表着取后面括号里的索引位置
print('==============format================')
print('my name is {}'.format(100))
print('my name is {1},my age is {0}'.format('dayv', 18))
print('my name is {0},my age is {1}'.format('dayv', 18))
 
# join  把列表里的元素组成字符串
str1 = '真正的勇士'
str2 = '敢于直面惨淡的人生'
str3 = '敢于正视淋漓的鲜血'
print(''.join([str1, str2, str3]))
# 前面的逗号表示用什么来隔开,列表中只能是字符串才能使用join方法
print(','.join([str1, str2, str3]))
 
# 删   del
name1 = 'nihao'
del name1  # 这就把这个变量删除了,在输出这个变量就会出错
 
# 改
# 字符串变大小写 upper , lower ,
name1 = 'abc'
print('大写:' + name1.upper())
print(name1.lower())
 
# capitalize  将第一个字母转换成大写
print(name1.capitalize())
 
# 将每个单词的首字母大写  title
name2 = 'hello world'
print('每个单词首字母大写:' + name2.title())
print('原name2的值' + name2)
 
# 将字符串切分成列表  默认空格为字符切分  split
name1 = 'a b    cd e'
print(name1.split())
# 括号里写什么就用什么切分                !!!!!!!!!!!!!!!!!!!!
name1 = 'a1b1cd1e'
print("自己配置用什么东西切分", name1.split('1'))  # 返回的是列表
# rsplit('指定用什么切片', 切几次),反过来切
print('切片倒过来切使用rsplit', name1.rsplit('1', 1))  # 倒过来切一个元素
# 替换replace(被替换的字符,替换的字符,个数)     !!!!!!!!!!!!!!
print(name1.replace('1', '0'))
print(name1.replace('1', '0', 1))  # 个数是从左往右的顺序替换
aaaaa = ' sdf   kkf  k k   '
print('使用替换去除字符串中的全部空格', aaaaa.replace(" ", ''))
 
# strip  除去字符串两边的空格,中间的不会管
name1 = '        ni h ao     '
print(name1.strip())
 
# 查
# find  index
# 查找字符串在大字符串的那个索引位置(起始索引)
name1 = 'PythonPythonPython'
print("使用find查找的索引位置", name1.find('on'))
# 找不到会返回-1
print("使用index查找的索引位置:", name1.index('on'))
# index方法找不到会报错
 
# count  统计一个字符串在大字符串里面出现的次数
print(name1.count('qi'))
 
# 判断一个字符串里的数据是不是都是数字  isdigit   返回布尔值
num = '156465'
print(num.isdigit())
# 判断一个字符串里的数据是不是都是字母   isalpha
num = 'ksdjflks'
print(num.isalpha())
 
# 比较后面一个元素是否是前面一个元素的开头,startswith
# 比较后面一个元素是否是前面一个元素的结尾  endswith
mm = 'Python nihao'
print(mm.startswith('Pyth'))
print(mm.endswith('Pytho'))
 
# 判断字符串是否全是大写isupper   是否全是小写islower
 
# 转义字符 \n换行   \t
print('hello \nworld')
print('z\tiyu')
print('Pyth \t on')
print('Python123')
# 反转义
print(r'zhai \t dada')  # 加r
print('zhai \\t dada')  # 或者写两个斜杠
 
# 控制字符串的输入字数
print('123456'[:5])  # 只会输入前五个数
로그인 후 복사

위 내용은 Python 문자열의 일반적인 방법과 해당 응용 시나리오 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP와 Python : 다른 패러다임이 설명되었습니다 PHP와 Python : 다른 패러다임이 설명되었습니다 Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python 중에서 선택 : 가이드 PHP와 Python 중에서 선택 : 가이드 Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

Python에서 비주얼 스튜디오 코드를 사용할 수 있습니다 Python에서 비주얼 스튜디오 코드를 사용할 수 있습니다 Apr 15, 2025 pm 08:18 PM

VS 코드는 파이썬을 작성하는 데 사용될 수 있으며 파이썬 애플리케이션을 개발하기에 이상적인 도구가되는 많은 기능을 제공합니다. 사용자는 다음을 수행 할 수 있습니다. Python 확장 기능을 설치하여 코드 완료, 구문 강조 및 디버깅과 같은 기능을 얻습니다. 디버거를 사용하여 코드를 단계별로 추적하고 오류를 찾아 수정하십시오. 버전 제어를 위해 git을 통합합니다. 코드 서식 도구를 사용하여 코드 일관성을 유지하십시오. 라인 도구를 사용하여 잠재적 인 문제를 미리 발견하십시오.

VScode 확장자가 악의적입니까? VScode 확장자가 악의적입니까? Apr 15, 2025 pm 07:57 PM

VS 코드 확장은 악의적 인 코드 숨기기, 취약성 악용 및 합법적 인 확장으로 자위하는 등 악성 위험을 초래합니다. 악의적 인 확장을 식별하는 방법에는 게시자 확인, 주석 읽기, 코드 확인 및주의해서 설치가 포함됩니다. 보안 조치에는 보안 인식, 좋은 습관, 정기적 인 업데이트 및 바이러스 백신 소프트웨어도 포함됩니다.

Windows 8에서 코드를 실행할 수 있습니다 Windows 8에서 코드를 실행할 수 있습니다 Apr 15, 2025 pm 07:24 PM

VS 코드는 Windows 8에서 실행될 수 있지만 경험은 크지 않을 수 있습니다. 먼저 시스템이 최신 패치로 업데이트되었는지 확인한 다음 시스템 아키텍처와 일치하는 VS 코드 설치 패키지를 다운로드하여 프롬프트대로 설치하십시오. 설치 후 일부 확장은 Windows 8과 호환되지 않을 수 있으며 대체 확장을 찾거나 가상 시스템에서 새로운 Windows 시스템을 사용해야합니다. 필요한 연장을 설치하여 제대로 작동하는지 확인하십시오. Windows 8에서는 VS 코드가 가능하지만 더 나은 개발 경험과 보안을 위해 새로운 Windows 시스템으로 업그레이드하는 것이 좋습니다.

Python vs. JavaScript : 학습 곡선 및 사용 편의성 Python vs. JavaScript : 학습 곡선 및 사용 편의성 Apr 16, 2025 am 12:12 AM

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

PHP와 Python : 그들의 역사에 깊은 다이빙 PHP와 Python : 그들의 역사에 깊은 다이빙 Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

터미널 VSCODE에서 프로그램을 실행하는 방법 터미널 VSCODE에서 프로그램을 실행하는 방법 Apr 15, 2025 pm 06:42 PM

vs 코드에서는 다음 단계를 통해 터미널에서 프로그램을 실행할 수 있습니다. 코드를 준비하고 통합 터미널을 열어 코드 디렉토리가 터미널 작업 디렉토리와 일치하는지 확인하십시오. 프로그래밍 언어 (예 : Python의 Python Your_file_name.py)에 따라 실행 명령을 선택하여 성공적으로 실행되는지 여부를 확인하고 오류를 해결하십시오. 디버거를 사용하여 디버깅 효율을 향상시킵니다.

See all articles