首页 > 其他分享 >字符串

字符串

时间:2022-11-26 19:34:35浏览次数:47  
标签:字符 str1 print 字符串 True string1

字符串的介绍

Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。

字符串的索引和切片

字符串的索引

字符串是一个有序的集合,其中的每个字符可通过偏移量进行索引或分片。

字符串中的字符按从左到右的顺序,其偏移量依次为:0、1、2.....len-1(最后一个字符偏移量为字符串长度减1);

按从右到左的顺序,偏移量取负值,依次为: -len......-2、-1

字符串_字符串

str1 = "Hello,World"
print(str1[6])
print(str1[-3])

# w
# r

索引可获得指定位置的单个字符,但不能通过索引来修改字符串。因为字符串对象不允许被修改

字符串_字符串_02

字符串的切片

字符串的切片也称分片,它利用索引范围从字符串中获得连续的多个字符(即子字符串)

正常字符串切片的基本格式如下[start : end ]

返回字符串x中从偏移量start开始、到偏移量end之前的子字符串。

start和end参数均可省略,start默认为0,end默认为字符串长度

str1 = "Hello,World"
print(str1)
print(str1[2:4])
print(str1[:5])
print(str1[6:])

# Hello,World
# ll
# Hello
# World

切片的步长 str[start:end:step] 默认步长为1

str1 = "Hello,World"
print(str1[2:8])
print(str1[2:8:2])
print(str1[2:8:3])

# llo,Wo
# loW
# l,

将字符串反序返回

str1 = "Hello,World"
print(str1[::-1])

# dlroW,olleH

字符串的长度

字符串长度指字符串中包含的字符个数

可用len()函数获得字符串长度>>> len("abcdef")

str2 = "abcdefg"
print(len(str2))

# 7

字符串的转换

str() 函数将非字符串数据转换为字符串

x = 123
print(type(x))
y= str(x)
print(y)
print(type(y))

# <class 'int'>
# 123
# <class 'str'>

字符串常见处理方法

字符串大小写转换

str.capitalize() 

将字符串首字母转换为大写字母,其余变成小写

string1 =  "abcabc abcAbc"
print(string1.capitalize())

# Abcabc abcabc

str.upper()

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

string1 = "ABCabcABCabc"
print(string1.upper())

# ABCABCABCABC

str.lower()

将字符串中大写字母全部转换为小写

string1 = "ABCabcABCabc"
print(string1.lower())

#abcabcabcabc

str.title()

将字符串中每个单词的首字母转换为大写字母,其余小写

string1 =  "abcAbc abcAbc"
print(string1.title())

# Abcabc Abcabc

str.swapcase()

将字符串中字符大小写互换

string = "Hello World"
print(string.swapcase())

# hELLO wORLD

str.isupper()

判断字符串中字母字符是否全部为大写字母,若是,返回True,若不是,返回False

print("abcABC123".isupper())
print("ABC123".isupper())
print("ABC".isupper())

# False
# True
# True

str.islower()

判断字符串中字母字符是否全部为小写字母,若是,返回True,若不是,返回False

print("abcABC123".islower())
print("abc123@#".islower())
print("abc".islower())

# False
# True
# True

字符串的统计

str.count()

统计字符串中某个字符或字符串出现的次数,

str.count(sub,start,end) start,end 划定起始位置

string1 =  "abcabcabcabc"
print("字符串中字符'a'出现的次数为:",string1.count('a'))
print("字符串中字符'ab'出现的次数为:",string1.count('ab'))
print("字符串中字符'a'从下表3-7出现的次数为:",string1.count('a',3,7))
print("字符串中字符'ab'从下表3-7出现的次数为:",string1.count('ab',3,7))

# 字符串中字符'a'出现的次数为: 4
# 字符串中字符'ab'出现的次数为: 4
# 字符串中字符'a'从下表3-7出现的次数为: 2
# 字符串中字符'ab'从下表3-7出现的次数为: 1

str.startswith()断字符串是否以某个字符或某个字符串开始

str.endswith() 断字符串是否以某个字符或某个字符串结束

string1 =  "abcabcabcabc"
print("字符串是否以字符'a'开始:",string1.startswith('a'))
print("字符串是否以字符'ab'开始:",string1.startswith('ab'))
print("字符串是否以字符'c'结束:",string1.endswith('c',3,7))
print("字符串是否以字符'ac'开始:",string1.endswith('ac'))

# 字符串是否以字符'a'开始: True
# 字符串是否以字符'ab'开始: True
# 字符串是否以字符'c'结束: False
# 字符串是否以字符'ac'开始: Fals

expandtabs() 将字符串中的tab字符转换为空格输出,参数默认为8

如果字符串不足8个,就字符加空格补足8位,字符串超过8位,就字符加空格补足16位

str1 = "123\t456\t789\ta"
print(str1)
print("字符串str1输出为:",str1,",其长度为:",len(str1))
print("转换后字符串str1输出为:",str1.expandtabs(),"其长度为:",len(str1.expandtabs()))
print("转换后字符串str1输出为:",str1.expandtabs(3),"其长度为:",len(str1.expandtabs(2))) #指定参数后,tab键转换为相应的空格个数

# 123 456 789 a
# 字符串str1输出为: 123 456 789 a ,其长度为: 13
# 转换后字符串str1输出为: 123 456 789 a 其长度为: 25
# 转换后字符串str1输出为: 123 456 789 a 其长度为: 13

字符串的查找与替换

str.find(sub[, start[, end]])

查找字符串中是否包含字串,若包含则返回子串首次出现的位置,否则返回-1。 sub:指定要查找的子串。

start:开始索引,默认为0。

end:结束索引,默认为字符串的长度。

str1 = "Python"
print("字符串str1中是否含有字符t:",str1.find('t'))
print("字符串str1中是否含有字符t:",str1.find('n',0,3))

# 字符串str1中是否含有字符t: 2
# 字符串str1中是否含有字符t: -1

str.index()方法与find方法功能一样,区别:找不到会报错

​str.replace() 字符串查找 将当前字符串中的指定子串替换成新的子串,并返回替换后的新字符串

str.replace(old, new[, count])

count:表示替换旧字符串的次数,默认全部替换。

str1 = "abcabcabcabc"
print(str1.replace("a","A",2))

# AbcAbcabcabc

str.isalnum()

判断字符串是否只包含字母、数字和语言字符(中文,英文等各国语言),若是,则返回True,若还有其他字符,则返回False

str2 = "abc123&"
print(str2.isalnum())
print("abc123你好".isalnum())

# False
# True

str.isalpha()

判断字符是否只包含语言字符(中文,英文等各国语言),若是,则返回True,若不是只有字母,则返回False

str2 = "abcAB"
print(str2.isalpha())
print("abc123".isalpha())
print("abc你好".isalpha())

# True
# False
# True

str.isdecimal()

判断字符串中字符是否全部为数字

print("12334","13434".isdecimal())
print("12334abc","13434abc".isdecimal())
print("12334@","13434@".isdecimal())

# 12334 True
# 12334abc False
# 12334@ False

str.isspace()

判断字符串中是否全部为空格

print("      ".isspace())
print(" a ".isspace())
print(" \n ".isspace())
print(" \t ".isspace())
print(" \' ".isspace())

# True
# False
# True
# True
# False

字符串的分割与拼接

str.split()

方法可以按照指定分隔符对字符串进行分割,该方法会返回由分割后的子串组成的列表。

str.split(sep,maxsplit)

sep :分隔符,默认为空字符

maxsplit:分割次数,默认值为-1,不限制分割次数

string = "Hello, my name is Wang Hong"
print(string.split())
print(string.split('n'))
print(string.split('n',2))

# ['Hello,', 'my', 'name', 'is', 'Wang', 'Hong']
# ['Hello, my ', 'ame is Wa', 'g Ho', 'g']
# ['Hello, my ', 'ame is Wa', 'g Hong']

删除字符串的指定字符

str.strip() 默认删除字符串中首尾的空格、换行、tab字符,可删除指定字符

str1 = "   \n  \t #*abc123*#   \n  \t"
print(str1)
print(str1.strip()) #默认删除首尾空格、换行、tab
str2 = "#*abc123*#"
print(str2.strip('#')) #删除首尾指定的#

# #*abc123*#

# #*abc123*#
# *abc123*

字符串的对齐

str.center(width[,fillchar]) 返回长度为width的字符串,原字符串居中显示,默认用空格填充源字符串到width.

str1 = "abc123def"
print(str1.center(12))
print(str1.center(12,'*'))

# abc123def
# *abc123def**

标签:字符,str1,print,字符串,True,string1
From: https://blog.51cto.com/u_15325450/5889124

相关文章

  • Integer转换为日期字符串的方法分享
    转自:​​http://www.java265.com/JavaJingYan/202205/16530565423432.html​​时间是每一个系统开发中必不可少的一部分,那么时间在数据库中的存储也是大有讲究的,如何合理的......
  • 【776】shapely通过文本字符串构建矢量(wkt)
    参考:TheShapelyUserManualwkt:wellknowntext矢量对象通过wkt可以生成文本通过文本可以直接构建矢量对象>>>fromshapelyimportwkt>>>fromshapely.geomet......
  • [golang]字符串拼接
    前言在go语言中,因为字符串只能被访问,不能被修改,所以进行字符串拼接的时候,golang都需要进行内存拷贝,造成一定的性能消耗。方式1:操作符+特点:简单,可读性良好。每次拼接都......
  • C++的字符串流
    sstream使用,注意clear和str("")#include<iostream>#include<sstream>#include<string>usingnamespacestd;intmain(){stringstreamss;ss.put......
  • NEFU锐格作业一[数组-字符串]
    ​​推荐:NEFU大一下C语言锐格实验与作业参考程序目录​​文章目录​​NEFU锐格作业一[数组-字符串]​​​​知识点​​​​题目​​​​7132​​​​7124​​​​7150​​​......
  • [DP 字符串 计数去重]L3-020 至多删三个字符
    [DP字符串]L3-020至多删三个字符题目思路状态表示集合属性:count(不包含重复)状态计算:删除第i个或者不删除第i个这题比较恶心的地方在于去重aacdbb删掉最后一个b和删除......
  • mybatis xml文件中用 if 标签判断字符串是否相等
    方法一:<iftest="delFlag=='2'.toString()">a.del_flag=#{delFlag}</if> 方法二:<iftest='delFlag=="2"'>a.del_flag=#{delFlag}</if> ......
  • 生成十位数的字符串
    @Test publicvoidtest1(){ System.out.println(getRandomString(10)); } publicstaticStringgetRandomString(intlength){ Stringstr="abcdefghijklm......
  • Python入门(4)——最全的字符串操作
    修改字符串大小写title():把字符串中每个单词首字母改为大写。upper():把字符串中所有字符改为大写。lower():把字符串中所有字符改为小写。>>>'theintroductiontopython'.......
  • PHP处理 字符串个数(压缩处理)方法
    不说了,都是泪,直接上代码...$str='aaabbccqqwwe';//字符串示例$strRecord=[];//把出现过的字符记录在此数组中,如果记录有,则不记录,$new_str='';//最后......