Python基础教程——100+Python字符串常用操作,收藏备用!

字符串作为平时使用最多的数据类型,其常用的操作我们还是很有必要熟记于心的,本文整理了多种字符串的操作的案例,还是非常用心,记得点赞收藏哦

  • 字符串切片操作

  • 检查字符串是否为空

  • 计算字符串中字符出现次数的多种方法

  • 将 String 变量转换为 float、int 或 boolean

  • 向字符串填充或添加零的不同方法

  • 去掉字符串中的 space 字符

  • 生成N个字符的随机字符串

  • 以不同的方式反转字符串

  • 将 Camel Case 转换为 Snake Case 并更改给定字符串中特定字符的大小写

  • 检查给定的字符串是否是 Python 中的回文字符串

  • 检查字符串是否以列表中的一个字符串结尾

  • 在字符串中应用查找模式

  • 如果是 Python 中的反斜杠,则删除最后一个字符

  • 在Python中拆分字符串而不丢失拆分字符

  • 从字符串 Python 中提取大写和小写字符

  • 如何在 Python 中比较字符串的索引是否相等

  • 在每个第 4 个字符上添加空格

  • 在 Python 中以多行方式连接字符串

  • 在 Python 中将多个变量附加到列表中

  • 将字符串拆分为 Python 中的字符列表

  • 如何在 Python 中小写字符串

  • 通过多个标点符号分割字符串

  • Python 字符串填充

  • 在 Python 中检查两个字符串是否包含相同的字符

  • 在 Python 中查找给定字符串中的整个单词

  • 查找所有出现的子字符串

  • 在 Python 中去除所有开头在Python中的正斜杠上拆分字符串和结尾标点符号

  • 用 Python 中的正斜杠上拆分字符串

  • 根据 Python 中的索引位置将字符串大写

  • 检查字符串中的所有字符是否都是Python中的数字

  • 为什么使用’=='或’is’比较字符串有时会产生不同的结果

  • 如何在 Python 中为字符串添加 X 个空格

  • 如何在Python中替换字符串中的特定字符串实例

  • 如何连接两个变量,一个是字符串,另一个是 Python 中的 int

  • 在 Python 中的反斜杠上拆分字符串

  • 在Python中随机大写字符串中的字母

  • 在单词处拆分字符串并且或不保留分隔符

  • 在 Python 中填充 n 个字符

  • 检查变量是否等于一个字符串或另一个字符串

  • Python字符串格式化固定宽度

  • 在Python中查找字符串中字符的所有位置

  • 在Python中从左右修剪指定数量的空格

  • 在Python中按字符串中字符的位置拆分字符串

  • 将Python字符串中的第一个和最后一个字母大写

  • 检查字符串是否以Python中的给定字符串或字符结尾

  • 如何在 Python 中比较两个字符串

  • 在Python中将整数格式化为带有前导零的字符串

  • 在Python中替换字符串的多个子字符串

  • Python字符串替换字符

  • 在Python中查找字符串中所有出现的单词的所有索引

  • 在 Python 中将字符串中每个单词的首字母大写

  • 仅在 Python 中的双引号后拆分字符串

  • 在 Python 中以字节为单位获取字符串的大小

  • 在 Python 中比较字符串中的字符

  • 在 Python 中的括号和字符串之间添加空格

  • 在 Python 中删除开头和结尾空格

  • 在 Python 中拆分字符串以获得第一个值

  • 在 Python 中检查字符串是大写、小写还是混合大小写

  • Python计数字符串出现在给定字符串中

  • 在 Python3 中用前导零填充字符串

  • 在 Python 中检查两个字符串是否包含相同的字母和数字

  • 在Python中的字符串中的字符之间添加空格的有效方法

  • 在Python中查找字符串中最后一次出现的子字符串的索引

  • 在 Python 中将字符串大写

  • 拆分非字母数字并在 Python 中保留分隔符

  • 计算Python中字符串中大写和小写字符的数量

  • 在 Python 中将字符串与枚举进行比较

  • Python中的段落格式

  • 从 Python 中的某个索引替换字符

  • 如何连接 str 和 int 对象

  • 仅在 Python 中将字符串拆分为两部分

  • 将大写字符串转换为句子大小写

  • 在标点符号上拆分字符串

  • 在 Python 中比较字符串

  • 用零填充数字字符串

  • 找到两个字符串之间的差异位置

  • Python填充字符串到固定长度

  • Python中的字符串查找示例

  • 删除字符串中的开头零和结尾零

  • Python在换行符上拆分

  • 将字符串中的每个第二个字母大写

  • 在 Python 中查找一个月的最后一个营业日或工作日

  • 比较两个字符串中的单个字符

  • 在 Python 中多次显示字符串

  • Python 从头开始替换字符串

  • 在 Python 中连接字符串和变量值

  • 在每个下划线处拆分字符串并在第 N 个位置后停止

  • Python 中列表中第一个单词的首字母大写

  • 如何在 Python 字符串中找到第一次出现的子字符串

  • 不同长度的 Python 填充字符串

  • Python 比较两个字符串保留一端的差异

  • 如何用 Python 中的一个字符替换字符串中的所有字符

  • 在字符串中查找子字符串并在 Python 中返回子字符串的索引

  • 从 Python 中的字符串中修剪特定的开头和结尾字符

  • 在 Python 中按长度将字符串拆分为字符串

  • 如何在 Python 中将字符串的第三个字母大写

  • 将制表符大小设置为指定的空格数

  • 将两个字符串与某些字符进行比较

  • 字符串格式化填充负数

  • 单独替换字符串中的第一个字符

  • 连接固定字符串和变量

  • 将字符串拆分为多个字符串

  • 在 Python 中将字符串大写

  • 将字节字符串拆分为单独的字节

  • 用空格填写 Python 字符串

  • 比较两个字符串并检查它们共有多少个字符

  • 在 Python 中的数字和字符串之间添加空格

  • 如何在 Python 中去除空格

  • 字符串中最后一次出现的分隔符处拆分字符串

  • 在Python中将字符串的最后一个字母大写

  • 使用指定字符居中对齐字符串

  • 格式字符串中动态计算的零填充

  • 在 Python 中使用 string.replace()

  • 在 Python 中获取字符的位置

  • Python字符串替换多次出现

  • 在索引后找到第一次出现的字符

  • 在 Python 中将字符串更改为大写

  • 在 Python 中拆分具有多个分隔符的字符串

  • 在 Python 中获取字符串的大小

  • Python中的字符串比较 is vs ==

  • 每当数字与非数字相邻时,Python 正则表达式都会添加空格

  • 在 Python 中仅按第一个空格拆分字符串

  • 在Python中将字符串中的一些小写字母更改为大写

  • 将字符串拆分为具有多个单词边界分隔符的单词

  • 检查一个字符串在 Python 中是否具有相同的字符

  • 在多个分隔符或指定字符上拆分字符串

  • 将一个字符串附加到另一个字符串

  • 在 Python 中遍历字符串

  • 从 Python 中的字符串中去除标点符号

  • 将列表转换为字符串

  • 将 JSON 转换为字符串

  • 对字符串列表进行排序

  • 在 Python 中检查字符串是否以 XXXX 开头

  • 在 Python 中将两个字符串网格或交错在一起的不同方法

字符串切片操作

test = "Python Programming"   
print("String: ", test)       
# First one character   
first_character = test[:1]   
print("First Character: ", first_character)       
# Last one character   
last_character = test[-1:]   
print("Last Character: ", last_character)       
# Everything except the first one character   
except_first = test[1:]   
print("Except First Char.: ", except_first)       
# Everything except the last one character   
except_last = test[:-1]   
print("Except First Char.: ", except_last)       
# Everything between first and last two character   
between_two = test[2:-2]   
print("Between two character: ", between_two)       
# Skip one character   
skip_one = test[0:18:2]  
# [start:stop:step]   
print("Skip one character: ", skip_one)       
# Reverse String   
reverse_str = test[::-1]   
print("Reverse String: ", reverse_str)   

Output:

String:  Python Programming      
First Character:  P      
Last Character:  g      
Except First Char.:  ython Programming      
Except First Char.:  Python Programmin      
Between two character:  thon Programmi      
Skip one character:  Pto rgamn      
Reverse String:  gnimmargorP nohtyP   

检查字符串是否为空

import re   
from collections import Counter       
sentence = 'Canada is located in the northern part of North America'   
# Example I   
counter = len(re.findall("a", sentence))   
print(counter)       
# Example II   
counter = sentence.count('a')   
print(counter)       
# Example III   
counter = Counter(sentence)   
print(counter['a'])   

Output:

Empty      
Empty      
Empty   

计算字符串中字符出现次数的多种方法

import re   
from collections import Counter       
sentence = 'Canada is located in the northern part of North America'   
# Example I   
counter = len(re.findall("a", sentence))   
print(counter)       
# Example II   
counter = sentence.count('a')   
print(counter)       
# Example III   
counter = Counter(sentence)   
print(counter['a'])   

Output:

6   
6   
6   

将 String 变量转换为 float、int 或 boolean

# String to Float   
float_string = "254.2511"   
print(type(float_string))       
string_to_float = float(float_string)   
print(type(string_to_float))       
# String to Integer   
int_string = "254"   
print(type(int_string))       
string_to_int = int(int_string)   
print(type(string_to_int))           
# String to Boolean   
bool_string = "True"   
print(type(bool_string))       
string_to_bool = bool(bool_string)   
print(type(string_to_bool))   

Output:

class 'str'      
class 'float>      
class 'str'      
class 'int'      
class 'str'      
class 'bool'   

向字符串填充或添加零的不同方法

num = 7       
print('{0:0>5d}'.format(num))  
# left   
print('{0:0<5d}'.format(num))  
# right       
print('{:05d}'.format(num))       
print("%0*d" % (5, num))   
print(format(num, "05d"))       
temp = 'test'   
print(temp.rjust(10, '0'))   
print(temp.ljust(10, '0'))   

Output:

00007      
70000      
00007      
00007      
00007      
000000test      
test000000   

去掉字符串中的 space 字符

string_var = "  \t a string example\n\t\r  "   
print(string_var)       
string_var = string_var.lstrip()  
# trim white space from left   
print(string_var)       
string_var = "  \t a string example\t  "   
string_var = string_var.rstrip()  
# trim white space from right   
print(string_var)       
string_var = "  \t a string example\t  "   
string_var = string_var.strip()  
# trim white space from both side   
print(string_var)   

Output:

a string example                    
a string example                      	 
a string example      
a string example`

生成N个字符的随机字符串

import string   
import random           
def string_generator(size):       
chars = string.ascii_uppercase + string.ascii_lowercase       
return ''.join(random.choice(chars) for _ in range(size))           
def string_num_generator(size):      
chars = string.ascii_lowercase + string.digits       
return ''.join(random.choice(chars) for _ in range(size))           
# Random String   
test = string_generator(10)   
print(test)       
# Random String and Number   
test = string_num_generator(15)   
print(test)   

Output:

acpPTojXet      
qmpah72cjb83eqd   

以不同的方式反转字符串

test_string = 'Python Programming'       
string_reversed = test_string[-1::-1]   
print(string_reversed)       
string_reversed = test_string[::-1]   
print(string_reversed)           
# String reverse logically   
def string_reverse(text):       
r_text = ''       
index = len(text) - 1           
while index >= 0:           
r_text += text[index]           
index -= 1           
return r_text       
print(string_reverse(test_string))   

Output:

gnimmargorP nohtyP      
gnimmargorP nohtyP      
gnimmargorP nohtyP   

将 Camel Case 转换为 Snake Case 并更改给定字符串中特定字符的大小写

import re           
def convert(oldstring):       
s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', oldstring)       
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()           
# Camel Case to Snake Case   print(convert('CamelCase'))   
print(convert('CamelCamelCase'))   
print(convert('getHTTPResponseCode'))   
print(convert('get2HTTPResponseCode'))       
# Change Case of a particular character   
text = "python programming"   
result = text[:1].upper() + text[1:7].lower() \ 
      + text[7:8].upper() + text[8:].lower()   
print(result)       
text = "Kilometer"   
print(text.lower())       
old_string = "hello python"   
new_string = old_string.capitalize()   
print(new_string)       
old_string = "Hello Python"   
new_string = old_string.swapcase()   
print(new_string)   

Output:

camel_case      
camel_camel_case      
get_http_response_code      
get2_http_response_code      
Python Programming      
kilometer      
Hello python      
hELLO pYTHON   

检查给定的字符串是否是 Python 中的回文字符串

import re           
Continue = 1   Quit = 2           
def main():       
choice = 0           
while choice != Quit:           
# Display the menu.           
display_menu()           
# Constant to assume string is Palindrome           
is_palindrome = True               
# Get the user's choice.           
choice = int(input('\nEnter your choice: '))               
# Perform the selected action.           
if choice == Continue:               
line = input("\nEnter a string: ")               
str_lower = re.sub("[^a-z0-9]", "", line.lower())               
for i in range(0, len(str_lower)//2):                   
if str_lower[i] != str_lower[len(str_lower) - i - 1]:                       
is_palindrome = False                   
if is_palindrome:                   
print(line, "is a palindrome")               
else:                   
print(line, "is not a palindrome")           
else:               
print('Thank You.')           
def display_menu():       
print('\n*******MENU*******')       
print('1) Continue')       
print('2) Quit')           
main()   

Output:

*******MENU*******      
1) Continue      
2) Quit             
Enter your choice: 1             
Enter a string: A dog! A panic in a pagoda!      
A dog! A panic in a pagoda! is a palindrome     
        
*******MENU*******      
1) Continue     
2) Quit             
Enter your choice: 1             
Enter a string: Civic      
Civic is a palindrome        
     
*******MENU*******      
1) Continue      
2) Quit             
Enter your choice: 1             
Enter a string: Python vs Java      
Python vs Java is not a palindrome     
        
*******MENU*******      
1) Continue      
2) Quit            
Enter your choice: 2      
Thank You.   

检查字符串是否以列表中的一个字符串结尾

str_list = ['aaa', 'bbb', 'ccc', 'ddd']  
# list of items   str_test = 'testccc'  
# string need to test       
for str_item in str_list:       
if str_test.endswith(str_item):           
print("found")           
break   
# loop ends when result found       
else:           
print("not found")   

Output:

not found      
not found      
found   

在字符串中应用查找模式

import re      
s1 = 'abccba'   
s2 = 'abcabc'   
s3 = 'canadajapanuaeuaejapancanada'   
p = '123321'         
def match(s, p):       
nr = {}       
regex = []       
for c in p:           
if c not in nr:               
regex.append('(.+)')               
nr[c] = len(nr) + 1           
else:               
regex.append('\\%d' % nr[c])       
return bool(re.match(''.join(regex) + '$', s))         
print(match(s1, p))   
print(match(s2, p))   
print(match(s3, p))   

Output:

True   False   True   

如果是 Python 中的反斜杠,则删除最后一个字符

x = 'Canada\\'   
print(x.rstrip('\\'))   

Output:

Canada   

在Python中拆分字符串而不丢失拆分字符

import re  
string = 'canada-japan-india'      
print(re.split(r'(\-)', string))   

Output:

['canada', '-', 'japan', '-', 'india']   

从字符串 Python 中提取大写和小写字符

string = "asdfHRbySFss"      
uppers = [l for l in string if l.isupper()]   
print (''.join(uppers))      
lowers = [l for l in string if l.islower()]   
print (''.join(lowers))   

Output:

HRSF   
asdfbyss   

如何在 Python 中比较字符串的索引是否相等

myString = 'AAABBB'   
for idx, char in enumerate(myString, ):       
if idx + 1 == len(myString):           
break       
if char == myString[idx + 1]:           
print(idx, char, myString[idx + 1])   

Output:

0 A A   
1 A A   
3 B B   
4 B B   

在每个第 4 个字符上添加空格

string = 'Test5412Test8745Test'   
print([string[i:i + 4] for i in range(0, len(string), 4)])   

Output:

['Test', '5412', 'Test', '8745', 'Test']   

在 Python 中以多行方式连接字符串

str1 = "This is a demo string"   
str2 = "This is another  demo string"   
strz = ("This is a line\n" +          
str1 + "\n" +          "This is line 2\n" +          
str2 + "\n" +          "This is line 3\n")      
print(strz)   

Output:

This is a line   
This is a demo string   
This is line 2   
This is another  
demo string   
This is line 3   

在 Python 中将多个变量附加到列表中

volumeA = 100   
volumeB = 20   
volumeC = 10      
vol1 = []   
vol2 = []      
vol1.extend((volumeA, volumeB, volumeC))   
vol2 += [val for name, val in globals().items() if name.startswith('volume')]      
print(vol1)   print(vol2)   

Output:

[100, 20, 10]   
[100, 20, 10]   

将字符串拆分为 Python 中的字符列表

s = 'canada'   l = list(s)   
print(l)   

Output:

['c', 'a', 'n', 'a', 'd', 'a']   

如何在 Python 中小写字符串

text = ['Canada', 'JAPAN']      
text = [txt.lower() for txt in text]   
print(text)   

Output:

['canada', 'japan']   

通过多个标点符号分割字符串

import re   s = 'a,b,c d!e.f\ncanada\tjapan&germany'       
l = re.split('[?.,\n\t&! ]', s)       
for i in l:       
print(i)   

Output:

a   b   c   d   e   f   canada   japan   germany   

Python 字符串填充

lines_of_text = [       
(123, 5487, 'Testing', 'Billy', 'Jones'),       
(12345, 100, 'Test', 'John M', 'Smith')   
]      
for mytuple in lines_of_text:       
name = '{}, {}'.format(mytuple[4], mytuple[3])       
value = '$' + str(mytuple[1])       
print('{name:<20} {id:>8} {test:<12} {value:>8}'.format(           
name=name, id=mytuple[0], test=mytuple[2], value=value)       
)   

Output:

Jones, Billy              
123 Testing         
$5487 
  
Smith, John M           
12345 Test             
$100   

在 Python 中检查两个字符串是否包含相同的字符

str1 = 'caars'   
str2 = 'rats'   
str3 = 'racs'      
print(set(str1)==set(str2))   
print(set(str1)==set(str3))   

Output:

False   True   

在 Python 中查找给定字符串中的整个单词

def contains_word(s, w):       
return (' ' + w + ' ') in (' ' + s + ' ')         
result = contains_word('those who seek shall find', 'find')   
print(result)   
result = contains_word('those who seek shall find', 'finds')   
print(result)   

Output:

True   False   

查找所有出现的子字符串

import re      
aString = 'this is a string where the substring "is" is repeated several times'   
print([(a.start(), a.end()) 
for a in list(re.finditer('is', aString))])   

Output:

[(2, 4), (5, 7), (38, 40), (42, 44)]   

在 Python 中去除所有开头在Python中的正斜杠上拆分字符串和结尾标点符号

from string import punctuation   
s = '.$958-5-Canada,#'      
print(s.strip(punctuation))   

Output:

958-5-Canada   


代码太多就不一一举例了,希望这些字符串操作可以帮助到大家呀~

最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值