24 Temmuz 2009, Cuma
Zarif Python CamelCase camel_case dönüştürmek için işlevi?
Örnek:
>>> convert('CamelCase')
'camel_case'
CEVAP
24 Temmuz 2009, Cuma
Bu oldukça kapsamlı
def convert(name):
s1 = re.sub('(.)([A-Z][a-z] )', r'\1_\2', name)
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()
Tüm bunlar ile çalışır (ve zaten BM-cameled sürümleri zarar gelmez):
>>> convert('CamelCase')
'camel_case'
>>> convert('CamelCamelCase')
'camel_camel_case'
>>> convert('Camel2Camel2Case')
'camel2_camel2_case'
>>> convert('getHTTPResponseCode')
'get_http_response_code'
>>> convert('get2HTTPResponseCode')
'get2_http_response_code'
>>> convert('HTTPResponseCode')
'http_response_code'
>>> convert('HTTPResponseCodeXYZ')
'http_response_code_xyz'
Ya eğer yüz kere arayacaksın, pre-derleme yukarıdaki diyagram:
first_cap_re = re.compile('(.)([A-Z][a-z] )')
all_cap_re = re.compile('([a-z0-9])([A-Z])')
def convert(name):
s1 = first_cap_re.sub(r'\1_\2', name)
return all_cap_re.sub(r'\1_\2', s1).lower()
Düzenli ifade modülünü almak için unutma
import re
Bunu Paylaş:
Nasıl dize Python küçük harfe dönüştür...
Bir nesnenin mevcut tüm özelliklerini ...
En zarif şekilde, string Python boş ol...
Python (ekstra semboller içeren bir di...
Nasıl python tamsayılar dizeleri dönüş...