字元串的應用-

1. 概念

1.1 此次編寫字元串的查找和字元串的統計

1.2 編寫字元串常用的方法

1.2.1 string.isspace() 如果string中只包含空格,則返回true

1.2.2 string.isalnum() 如果string至少有一個字元並且所有字元都是字母或者數字則返回true

1.2.3 string.isalpha() 如果string至少有一個字元並且所有字元都是字母則返回True

1.2.4 string.isdecima() 如果string只包含數字則返回True,全形數字

1.2.5 string.isdight() 如果string只包含數字則返回True,全形數字,(1),\u00b2

1.2.6 string.isnumeric() 如果string只包含數字則返回True,全形數字,漢子數學

1.2.7 string.istitle() 如果string是標題化的(每個單詞的首字母大寫)則返回True

1.2.8 string.islower() 如果string中包含至少一個區分大小寫字母,並且字母都是小寫,則返回True

1.2.9 string.isupper() 如果string中包含至少一個區分大小寫字母,並且字母都是大寫,則返回True

1.3 程式碼做一個文件上傳功能

2. 實操

string中只包含空格,則返回true
# string.isspace()
test_str = " "
print(test_str.isspace())
string至少有一個字元並且所有字元都是字母或者數字則返回true
# string.isalnum()
test_str = " aa123AA \t\n\r"
print(test_str.isalnum())
string至少有一個字元並且所有字元都是字母則返回True
# string.isalpha()
test_str = " aaaaa\t"
print(test_str.isalpha())
數字的不同表達形式
# string.isdecima()  如果string只包含數字則返回True,全形數字
# string.isdight()   如果string只包含數字則返回True,全形數字,(1),\u00b2
# string.isnumeric() 如果string只包含數字則返回True,全形數字,漢子數學
test_str = "123456一壹二三"
print(test_str.isdecimal())    # fales
print(test_str.isdigit())      # false
print(test_str.isnumeric())    # true
string是標題化的(每個單詞的首字母大寫)則返回True
# string.istitle()
test_str = "Abc Bcd Efg"
print(test_str.istitle())
字母的表達方式
# string.islower()   如果string中包含至少一個區分大小寫字母,並且字母都是小寫,則返回True
# string.isupper()   如果string中包含至少一個區分大小寫字母,並且字母都是大寫,則返回True
test_str = "ABC BCD EFG"
print(test_str.islower())    # false
print(test_str.isupper())    # true
判斷是否以a開頭
# startswith
test_str = 'aaaa.jpg'
print(test_str.startswith('a')) 
判斷是否以jpg結尾
# endswith
test_str = 'aaaa.jpg'
print(test_str.endswith('jpg'))

3. 文件上傳

文件長度小於6並且後綴匹配正常,則隨機選擇6位數進行替換,反之,文件長度大於6並且後綴正常,則上傳成功

import random
file = input("請輸入文件名詞: ")
i = file.rfind('.')
fileName = file[:i]
fileExtension = file[i+1:]
if len(fileName) >= 6 and [file.endswith("jpg") or file.endswith("png") or file.endswith("pnf")]:
    print('上傳成功%s' % file)
elif len(fileName) < 6 and file.endswith("jpg") or file.endswith("png") or file.endswith("pnf"):
    # 獲取隨機數
    fileName = ''
    str1 = 'abcdewqwhjbkll;kjkbjhkloibnghv,./123465789csabkjcksdvnkdsvmvl'
    for i in range(6):
        strIndex = random.randint(0, len(str1) - 1)
        fileName += str[strIndex]
    print(fileName+"."+fileExtension)
else:
    print("null")