導航:首頁 > 編程語言 > python不包含字元串

python不包含字元串

發布時間:2023-04-10 02:46:14

1. python re 正則匹配某類字元前的所有字元(不包括該類字元)

首先,「匹配除2012這個字元串以外的任意字元?」語義不明,你是想將其從原字元串中刪除還是要匹配2012以外的年份?
姑且認為你的意思是後者,也即在一個特定模式里排除某些匹配的實例。
方法一、先預處理,將要匹配的字元串里的2012替換成不可能出現的字元串,然後再進行匹配處理,最後再將其替換回2012。
方法二、使用不匹配的前向斷言 (?! ...):
import re

s = '....<b>0033<b> <b>1033<b> <b>2012<b> <b>2033<b> <b>2043<b> <b>3033<b>.....'
p = re.compile('<b>(?!2012)[0-9]{4}<b>')
for m in re.finditer(p, s):
print m.group()
可以匹配出
<b>0033<b>
<b>1033<b>
<b>2033<b>
<b>2043<b>
<b>3033<b>
而沒有'<b>2012<b>'

2. python re模塊如何判斷字元串中包含某些特定字元如文件名中不能包含'','/'等字元,如何檢查

方法有很多,例如使用首尾位置標記^$+非法字元集[^]實現:

regex=r'^[^\/:*?"<>|]+$'#不能為空,不能含有/:*?"<>|等字元
tests=['abc_def',
'abc.def',
'abc/def',
'?"',
'']
matches=[iforiintestsifre.match(regex,i)]
print(matches)

還可以通過負向零寬斷言(?!)等方式實現。

3. day-04 總結python字元串

1.什麼是字元串
序列,有序,不可變的
用單引號或者雙引號任意字元集,

2,字元串中的字元
普通字元:ན', 'sdfsdfsd', '+ + (**&^%$#@@', '發技術規范舉案說法'

'''
python中的字元採用的是unicode編碼

1.什麼是編碼
就是數字和字元的一一對應的,其中字元對應的數字就是字元的編碼
a - 97
b - 98

2.編碼方式
ASCII碼表 :針對數字字元,字母字元(26個小寫字母和26個大寫字母),一些英文中對應的符號進行編碼
小寫字母要大於大寫字母的編碼值,採用一個位元組對字元進行編碼,只能對128個字元進行編碼

Unicode碼 :Unicode碼包含了ASCII碼表,同時能夠對世界上所有語言對應的符號進行編碼,
採用兩個位元組進行編碼,能夠編碼65536個字元

3.兩個函數
chr(編碼值)--將字元編碼值轉化為字元
ord(字元)-- 獲取字元對應的編碼值
中文編碼范圍 0x4e00~~~~~0x9fa5

一旦一個字元串確定了,那麼字元串中每個字元的位置就確定了,而且每個字元會對應一個表示其位置和順序的下標值

1,下標(索引)
字元串中的每一個字元都有一個下標,代表在字元串中的位置
下標范圍是:0到字元串長度---1 0(代表第一個字元的位置)
-1 ~ 字元串長度 -1(代表字元串中最後一個字元的位置)

'abc' # ''

獲取單個字元
語法:字元串[下標]--獲取字元串中指定下標對應的字元
說明 字元串--可以是字元串常量,也可以是字元串變數
[]---固定寫法
下標--字元的下標,不能越界。

獲取部分字元
語法:字元串[開始下標:結束下標:步長]
步長-- 一個整數
功能: 從開始下標獲取到結束下標前位置,每次下標值增加步長,結果是字元串
注意:當步長是整數,開始下標對應的字元要在結束下標的前面
當步長是負數,開始下標對應的字元要在結束下標的後面

方法2:字元串[開始下表:結束下標](相當於步長是一)

獲取部分字元,省略下標
獲取部分字元的時候開始下標和結束下標都可以省略
a.開始下標省略
字元串[:結束下標:步長] 或者字元串[:結束下表]
字元串是正數:從字元串開頭開始往後獲取
字元串是負數:從字元串結尾開始往前獲取

結束下標省略
字元串[開始下標::步長]
步長是正數,從開始下標從前往後獲取到字元串最後
步長是負數,從開始下標從後往前獲取到字元串開始

,加法運算
字元串1 + 字元串2 將兩個字元串拼接在一起,產生一個新的字元串

乘法運算
字元串 * n(正整數):字元串中的內容重復n次產生一個新的字元串

比較運算符
a. == !=
字元串1 == 字元串2 ---------判斷兩個字元串是否相等

b.> ,< , >= ,<= (所有的大寫字母編碼都比小寫的編碼小)
兩個字元串比較大下:從第一個開始,找到第一對不同的字元,然後比較他們的編碼值的大小

in 和 not in
字元串1 in 字元串2 :判斷字元串2是否包含字元串1
字元串1 not in 字元串2 :判斷字元串2是否不包含字元串1

len函數
len(序列)------- 獲取序列的長度
len(字元串)----獲取字元串中字元的個數

str函數
str(數據): 將數據轉換成字元串

其他數據轉換成字元串
所有的數據都可以轉換成字元串,轉換的時候就是在數據的值的最外面加引號

補充:系統對應的類型名不能用來給變數命名

字元串轉其他類型
字元串轉整數: int(字元串) 去掉引號後本身就是個整數的字元串才能轉
字元串轉浮點型: Float(字元串)
字元串轉布爾: boll(字元串) ,除了空串會轉化成False,其他的都會轉化成True

格式字元串
指的是字元串中通過格式佔位符來表示字元串中變化,然後後面再通過其他的值來給佔位符賦值
含有格式佔位符的字元串 % (佔位符對應的值)
說明:
含有格式佔位符有固定寫法,可以有多個
%----固定寫法
()----裡面值 的個數要和前面的格式佔位符一一對應
%d--整數
%s--字元串
%f--小數
%c--字元(可以將數字轉換成字元)

字元串.capitalize() - 將字元串第一個字元轉換成大寫

2.字元串對齊
字元串.center(width, fillchar) - 居中
字元串.ljust(width, fillchar) - 左對齊
字元串.rjust(width, fillchar) - 右對齊

width - 正整數,表示新的字元串的寬度
fillchar - 字元, 填充字元串

字元串.isalpha 若字元串至少有一個字元,並且所有字元都是字母就返回True,否則返回False

字元串。isdigit() 若字元串中只包含數字就返回True,否則返回False

若字元串中只包含數字字元,則返回True,否則返回 False

3.join(seq)
字元串1.join(字元串2): 將字元串1的內容插入到字元串2的每個字元之間

max(字元串) 編碼最大
min(字元串)

count(str)|返回 str 在 string 裡面出現的次數

|islower()|如果字元串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False

expandtabs(tabsize=8)|把字元串 string 中的 tab 符號轉為空格,tab 符號默認的空格數是 8 。

|isspace()|如果字元串中只包含空白,則返回 True,否則返回 False

endswith(suffix)|檢查字元串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的范圍內是否以 obj 結束,如果是,返回 True,否則返回 False.

4. 【python】判斷兩個字元串的包含關系

題目:給定由字母組成的字元串s1和s2,其中,s2中字母的個數少於s1,陪蘆如何判斷s1是否包含s2?

分析:哈希法。

code:

str1 = 'aaaabbce'

str2 = 'abcbbaaad'

list1 = list(str1)

list2 = list(str2)

i = 0

hashTable1 = dict()

while i < len(str1):

    if list1[i] not in hashTable1:

        hashTable1[list1[i]] = 0

    i += 1

i = 0

hashTable2 = dict()

while i < len(str2):

    if list2[i] not in hashTable2:

        hashTable2[list2[i]] = 0

    i += 1

count = 0

for k, v in hashTable1.items():

    if k in hashTable2:

   鋒輪     count += 1

    else:

        print("不包含"銀亂信)

        break

程序運行結果:
不包含

5. 【python】判斷一個字元串是否包含重復字元

題目:判斷一個字元串是否包含重復字元。例如good則包含,abc則不包含。

分析:哈希法。

code:

(1)

strs = 'Good'

hashTable = dict()

listStrs = list(strs)

i = 0

while i < len(strs):

    if listStrs[i] in hashTable:

        print("有重復字元")

        break

    else:

        hashTable[listStrs[i]] = None

    i += 1

    if i >= len(strs):

        print("沒用重復字元")

        break

程序運行結果:

有重復字元

(2)

def longest_repetition(chars):

    if len(chars) is None or len(chars) <= 1:

        return (chars, len(chars))

    result = [1] * len(chars)

    for left in range(len(chars) - 1):

        for right in range(left + 1, len(chars)):

            if chars[left] == chars[right]:

                print("a")

                result[left] += 1

            else:

                print("aa")

                break

    #return result

    return (chars[result.index(max(result))], max(result))

if __name__ == "__main__":

    txt = 'banaaana'

    print(longest_repetition(txt))

6. python如何檢測字典的鍵中是否含有某串字元

1、說明
python中檢測字典的鍵中是否含有某串字元,便利字典鍵值,再判斷字元串是否在鍵值中即可。

2、示例代碼:
# 定義一個字典
dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}
# 遍歷字典鍵中是否包含1984
for key in dic:
if '1984' in key:
print('鍵值中包含字元串"1984"')
# 或者需要的其它操作
else:
print('鍵值中不包含字元串"1984"')

3、執行結果:
鍵值中包含字元串"1984"
鍵值中不包含字元串"1984"
鍵值中包含字元串"1984"


4、其它說明:
python使用for in直接操作字典就是遍歷字典的鍵值,python使用in操作來判斷字元串中是否包含子串最方便,要優於使用字元串的函數index或者find。

index函數在找不到子串時會報錯,find函數會返回-1。

7. python 怎樣用正則表達式匹配不包含某些字元的字元串

rex = r'[^abcde]*'re.match(rex, 'this is a string')返回值是None則不匹配,反之匹配 當然先compile一下也很好。唯褲孝

拓展:

1、Python(英語發音:/ˈ純譽paɪθən/), 是一種面向對象、解釋型計算機程序設計語指稿言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年,Python 源代碼同樣遵循 GPL(GNU General Public License)協議。Python語法簡潔而清晰,具有豐富和強大的類庫。

2、它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫。

8. 怎麼樣使用python3查找文件中是否包含某個字元串,沒有則在文件末尾追加進去

a = 'RQUOTAD_PORT=30001'
with open('nfs','r') as f:
if a not in f.read():
print(a)
f=open('/nfs','a')
f.write("RQUOTAD_PORT=30001 ")
f.close()

9. python 正則替換不包含某字元串的其他字元

這個是數顫茄字個嘩洞察數亂茄不定,

10. Python處理字元串必備方法

字元串是Python中基本的數據類型,幾乎在每個Python程序中都會使用到它。

▍1、Slicing

slicing切片,按照一定條件從列表或者元組中取出部分元素(比如特定范圍、索引、分割值)

▍2、****strip()

strip()方法用於移除字元串頭尾指定的字元(默認為空格或換行符)或字元序列。

在使用strip()方法時,默認去除空格或換行符,所以#號並沒有去除。

可以給strip()方法添加指定字元,如下所示。

此外當指定內容不在頭尾處時,並不會被去除。

第一個 前有個空格,所以只會去取尾部的換行符。

最後strip()方法的參數是剝離其值的所有組合,這個可以看下面這個案例。

最外層的首字元和尾字元參數值將從字元串中剝離。字元從前端移除,直到到達一個不包含在字元集中的字元串字元為止。

在尾部也會發生類似的動作。

▍3、****lstrip()

移除字元串左側指定的字元(默認為空格或換行符)或字元序列。

同樣的,可以移除左側所有包含在字元集中的字元串。

▍4、rstrip()

移除字元串右側指定的字元(默認為空格或換行符)或字元序列。

▍5、****removeprefix()

Python3.9中移除前綴的函數。

和strip()相比,並不會把字元集中的字元串進行逐個匹配。

▍6、removesuffix()

Python3.9中移除後綴的函數。

▍7、****replace()

把字元串中的內容替換成指定的內容。

▍8、****re.sub()

re是正則的表達式,sub是substitute表示替換。

re.sub則是相對復雜點的替換。

和replace()做對比,使用re.sub()進行替換操作,確實更高級點。

▍9、****split()

對字元串做分隔處理,最終的結果是一個列表。

當不指定分隔符時,默認按空格分隔。

此外,還可以指定字元串的分隔次數。

▍10、****rsplit()

從右側開始對字元串進行分隔。

▍11、****join()

string.join(seq)。以string作為分隔符,將seq中所有的元素(的字元串表示)合並為一個新的字元串。

▍12、****upper()

將字元串中的字母,全部轉換為大寫。

▍13、****lower()

將字元串中的字母,全部轉換為小寫。

▍14、capitalize()

將字元串中的首個字母轉換為大寫。

▍15、****islower()

判斷字元串中的所有字母是否都為小寫,是則返回True,否則返回False。

▍16、isupper()

判斷字元串中的所有字母是否都為大寫,是則返回True,否則返回False。

▍17、****isalpha()

如果字元串至少有一個字元並且所有字元都是字母,則返回 True,否則返回 False。

▍18、isnumeric()

如果字元串中只包含數字字元,則返回 True,否則返回 False。

▍19、isalnum()

如果字元串中至少有一個字元並且所有字元都是字母或數字,則返回True,否則返回 False。

▍20、count()

返回指定內容在字元串中出現的次數。

▍21、****find()

檢測指定內容是否包含在字元串中,如果是返回開始的索引值,否則返回-1。

此外,還可以指定開始的范圍。

▍22、rfind()

類似於find()函數,返回字元串最後一次出現的位置,如果沒有匹配項則返回 -1。

▍23、startswith()

檢查字元串是否是以指定內容開頭,是則返回 True,否則返回 False。

**
**

▍24、****endswith()

檢查字元串是否是以指定內容結束,是則返回 True,否則返回 False。

▍25、****partition()

string.partition(str),有點像find()和split()的結合體。

從str出現的第一個位置起,把字元串string分成一個3 元素的元組(string_pre_str,str,string_post_str),如果string中不包含str則 string_pre_str==string。

▍26、center()

返回一個原字元串居中,並使用空格填充至長度width的新字元串。

▍27、ljust()

返回一個原字元串左對齊,並使用空格填充至長度width的新字元串。

▍28、rjust()

返回一個原字元串右對齊,並使用空格填充至長度width的新字元串。

▍29、f-Strings

f-string是格式化字元串的新語法。

與其他格式化方式相比,它們不僅更易讀,更簡潔,不易出錯,而且速度更快!

▍30、swapcase()

翻轉字元串中的字母大小寫。

▍31、zfill()

string.zfill(width)。

返回長度為width的字元串,原字元串string右對齊,前面填充0。

參考文獻: https://mp.weixin.qq.com/s/9cuO-KL3g9ldqRGGZBVnjw

閱讀全文

與python不包含字元串相關的資料

熱點內容
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821
公司代理伺服器有什麼要求 瀏覽:244