我有一個字串,可以用大寫鎖定或不寫。“帶大寫鎖定”意味著它要么像 tHIS,要么像 THIS。使用“isupper()”函式檢測第二種情況很容易,但我無法找到可靠地找到第一種情況的方法。對于長度為 1 的字串,我使用“islower()”來檢測它們是否應該大寫,所以應該不成問題
我使用的代碼
import re
inp = input()
trutable = ""
for i in inp:
if i.isupper():
trutable = "1"
if i.islower():
trutable = "0"
pattern = re.compile(r'^01')
answ = re.match(pattern, trutable)
if inp.isupper() or answ != None or (len(inp) == 1 and inp.islower()):
inp = inp.capitalize()
print(inp)
uj5u.com熱心網友回復:
請你試試:
s = "hELLO wORLD!"
print(s.swapcase())
輸出:
Hello World!
uj5u.com熱心網友回復:
對于文本字符替換,python 字串具有str.maketrans和str.translate方法:
from string import ascii_lowercase as ascii_up, ascii_uppercase as ascii_low
def reverseCase(text):
m = str.maketrans(ascii_low ascii_up, ascii_up ascii_low)
return text.translate(m)
for w in ("tata", "TATA", "TaTa", "42"):
print(reverseCase(w))
輸出:
TATA
tata
tAtA
42
檢測事物
[...] 要么像
'tHIS'[...]
您可以使用:
def isWordStartingLowerAndContinuingUpperCased(word):
"""Check if words starts with lower case and continues upper cased."""
return word[0].islower() and word[1:].isupper()
for w in ("tHIS", "This", "THIS"):
print(w, ":", isWordStartingLowerAndContinuingUpperCased(w))
要得到
tHIS : True
This : False
THIS : False
規范化文本時請注意誤報 - 有一大群屬于全大寫的單詞,不應更改 - 縮寫:
NBL、美國、MIB、CIA、FBI、NSA、MI6、NASA、DARPA 等。
uj5u.com熱心網友回復:
您可以遵循以下方法:
s = "hdCdjdC"
print("".join([x.upper() if x.islower() else x.lower() for x in s]))
輸出
HDcDJDc
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/382311.html
