python - 文字列操作

スプライシングの文字列

。プラス記号(+)スプライス

STR =「こんにちは」+「「+ 『パイソン』 + 『!』

#----------------------------------------
モザイク#文字列:+、参加機能、フォーマット
#----------------------------------------
#+(プラス)二つの文字列を新しい文字列に一緒に接続されている
STR1 = "こんにちは"
とstr2 = "パイソン"
STR3 = "!"
str_new = STR1 + "" + + str2のSTR3の
印刷(str_new)

#また、加算代入演算子(+ =)接続に使用されるかもしれ
str_new + = "^ - ^"
印刷(str_new)

b.joinステッチ機能

STR = sep.join(配列)

9月:セパレータ、配列:文字列の配列を接続します

#関数「sep'.join(配列)参加
9月には#を:セパレーター; SEQ:シーケンス文字列の接続に
= "" 9月に
STR4 = sep.join( "こんにちは")
を印刷(STR4)

SEQ = [ '10'、 '20'、 '30'、 '40']
STR5 = sep.join(配列)
プリント(化5)

C。文字列フォーマット

1.文字列演算子%

2.使用str.format()関数(推奨)

#文字列形式:%、str.format()
#%の文字列書式文字列オペレータへ
。major_version 3 =
minor_version = 6.400
STR6 =「%%使用フォーマット出力:%S%S%D %。 1F!「%(STR1、STR2、major_version、minor_version)
印刷(化6)

= 1 NUM
STR7 = "引数%d個の括弧は省略することができる場合にのみ、" NUM%での
印刷(STR7)
チャー= ''
97:文字に対応する文字= 65#出力ASCIIコード
Cのためのノンケ=」%%をフォーマット文字とそのASCIIコード:%cの「char型%の
印刷(ノンケ)

#は、出力デジタルデータの長さを指定することができ
位- 、アライメントマークは、左、右のアラインメントのデフォルト
#0、ゼロで充填不足長さを示すデータ、。デフォルトの空間充填
STR9 = "合計スコアは、総スコア%5S%の3D \ nは%-5S IS%03D" %( "李イク、" 99 "劉"、96)
プリント(STR9)
#1 +、それが出力する符号を表し、デフォルトの出力のみ負
STR10 =(18であり、-18)%「広州%+ Dの温度、温度はハルビン+ D%であった」
印刷(STR10)

str.format位()形式の文字列を使用
位{}および(フォーマットフィールドと呼ばれる)内の文字はでフォーマット()パラメータ置換なり
デフォルトの順序に応じて自動的に#1、出力パラメータ(対応する数)
印刷( "主要な検索エンジンです:{}と{} \ n"は.format( 'Baiduの'、 'グーグル'))

#2、デジタル括弧内のフォーマット指定された位置パラメータ(マニュアル番号付け)で
印刷(「主要な検索エンジンである:{0}及び{1}」形式(「百度」、「グーグル」))
プリント( "主要な検索エンジンは、次のとおりです。{1}と{0} \ nは{0}、私はもう少し」.formatを使う( 'Baiduの'、 'グーグル'))

#3、パラメータ定義キーワードに、そして他との組み合わせで
#注:あなたがモード自動番号と一緒に使用する手動の番号付けを混在させることはできません。そして、位置パラメータは重要なパラメータの背面にすることはできません。
印刷( "検索エンジン:{0}、{1}と{sou_gou}、等" .format( '百度'、 'グーグル'、sou_gou = ' 検索犬'))
プリント(「検索エンジン:{}、{ sou_gou} {}など」.format( 'Baiduの'、 'グーグル'、sou_gou = ' 捜索犬'))

#プリント( "検索エンジン:{0}、{1}と{2}、及びいわゆる" .format( '百度'、 'グーグル'、sou_gou = '検索犬'))

format_str1 = "小数点後の2桁:{}:.. 2F。"(3.1415926、8.888、PI = 3.1415926)形式
プリント(format_str1)
format_str2 =「NO小数点以下の桁の10進数の後に、および保持記号:{: .0f} +。「フォーマット(3.1415926)
プリント(format_str2)

#<、左は、充填空間の右側を正当化;>、右、スペースで左
format_str3 = "デフォルト左!:{:20S} Pythonの"形式( "こんにちは")。
印刷(format_str3)
format_str4 =「>右寄せ: !。 "フォーマット:{>} 20SのPython("こんにちは")
を印刷(format_str4)
format_str5 ="デフォルト埋めるためにスペースを埋める- :{: - > 20S}! "形式のPython("こんにちは「)
を印刷(format_str5 )

format_str6 =「:{:0> 3D} 3の指定するデータ長は、右、0を埋めるために左に十分ではありません。」フォーマット(9)
プリント(format_str6)
format_str7 =「左詰め3のデータ長を指定し、充填する権利に十分ではありません0:{0 <3D}「形式(9)
プリント(format_str7)

シンボルをフォーマット文字列:

 

第二に、エスケープ文字列

記号の文字列をエスケープします

 

第三に、文字列が取ら

Xを備え、指定した範囲でインターセプトされた文字列が、Yが含まれていません:strの[X]、STR [Y X]を使用してください。


# ----------------------------------------
# 字符串的截取:[]、[:]
# ----------------------------------------
string = "字符串的截取操作!"

# str[i] 表示截取第几个字符,字符索引值从0开始
print("string[1]:", string[1])

# str[x:y] x表示开始截取的索引值,y表示停止截取的索引值(包含x,但不包含y)
print('string[2:5]:', string[2:5])

# 如果省略开始索引值,就从第一个字符到结尾索引值
print('string[:5]:', string[:5])

# 如果省略结尾索引值,就从开始索引值到最后一个字符
print('string[2:]:', string[2:])

# 更新字符串
# string[3] = "被"
string = string[:3] + "被" + string[4:]
print(string)

# 使用in和not in判断某个字符或字符串是否存在于另一个字符串中
sub_string = "截取"
if sub_string in string:
print("in")
else:
print("not in")

sub_string = "是"
if sub_string not in string:
print("not in")
else:
print("in")

四、字符串的常用函数

count():统计字串里某个字符出现的次数

len():返回字符串的长度

find():检测字符串中是否包含子字符串

replace():把字符串中的旧字符串替换为新字符串

lower():转换字符串中的所有大写字母为小写

upper():转换字符串中的所有小写字母为大写

swapcase():对字符串中的大小写字母进行相互转换

strip():删除字符串左右两侧的空格或指定的字符

isalnum():检测字符串中的字符是否全部由字母或数字组成

# ----------------------------------------
# 字符串的常用函数
# ----------------------------------------
# count() 用于统计字符串里某个字符出现的次数
string = "Hello python!"
sub_str = 'o'
print("字符o出现的次数为:", string.count(sub_str))
# len()返回字符串的长度
print("字符o出现的次数为:", string.count(sub_str, 5, len(string)))

# find() 检测字符串中是否包含子字符串。如果包含,返回开始的索引值;否则返回-1。
sub_str1 = "py"
sub_str2 = "pn"
print("查找子串py,返回索引值:", string.find(sub_str1))
print("查找子串pn,返回索引值:", string.find(sub_str2, 2))
print("查找子串py,返回索引值:", string.find(sub_str1, 3, 8))

# index()与find()函数的用法相同,只是当字符串中没有包含指定的子串时,会报一个异常,而不是返回-1。

# replace() 把字符串中的旧字符串替换为新字符串
print(string.replace("python", "word")) # 默认是进行全部替换
print(string.replace("o", "w", 1)) # 也可以指定替换的最大次数

# swapcase() 对字符串中的大小写字母进行相互转换
print("swapcase:", string.swapcase())

# lower() 转换字符串中所有大写字符为小写
print("lower:", string.lower())

# upper() 转换字符串中所有小写字母为大写
print("upper:", string.upper())

# strip() 删除字符串左右两侧的空格或指定的字符
string2 = "------ch02_基础语法--------"
print("strip:", string2.strip('-'))

string1 = "Python3"
# isalnum() 如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则返回False。
print("isalnum:", string1.isalnum())
# isalpha() 如果字符串至少有一个字符,并且所有字符都是字母则返回True,否则返回False。
print("isalpha:", string1.isalpha())
# isdigit() 如果字符串只包含数字则返回True,否则返回False。
print("isdigit:", string1.isdigit())

# title() 返回一个标题化的字符串(即所有单词以大写开头,其余字母均为小写)
print(string.title())

# center() 返回一个指定宽度并且居中显示的字符串,并在左右两侧填充指定的字符,默认为空格
print("center:", string.center(40, '-'))

 

おすすめ

転載: www.cnblogs.com/Teachertao/p/11204423.html