返回字符串的长度(以字节为单位)
def byte_size(string):
return len(string.encode('utf-8'))
示例
byte_size('?') # 1
byte_size('Hello World') # 11
将字符串转换为驼峰式
import re
def camel(s):
s = re.sub(r"(\s|_|-)+", " ", s).title().replace(" ", "")
return s[0].lower() + s[1:]
示例
camel('some_database_field_name'); # 'someDatabaseFieldName'
camel('Some label that needs to be camelized'); # 'someLabelThatNeedsToBeCamelized'
camel('some-javascript-property'); # 'someJavascriptProperty'
camel('some-mixed_string with spaces_underscores-and-hyphens'); # 'someMixedStringWithSpacesUnderscoresAndHyphens'
大写字符串的第一个字母。
def capitalize(string, lower_rest=False):
return string[:1].upper() + (string[1:].lower() if lower_rest else string[1:])
示例
capitalize('fooBar') # 'FooBar'
capitalize('fooBar', True) # 'Foobar'
将字符串中每个单词的首字母大写。
def capitalize_every_word(string):
return string.title()
示例
capitalize_every_word('hello world!') # 'Hello World!'
将字符串的首字母小写。
def decapitalize(str, upper_rest=False):
return str[:1].lower() + (str[1:].upper() if upper_rest else str[1:])
示例
decapitalize('FooBar') # 'fooBar'
decapitalize('FooBar', True) # 'fOOBAR'
检查一个字符串是否是另一个字符串的字谜(不区分大小写,忽略空格,标点符号和特殊字符)。
def is_anagram(str1, str2):
_str1, _str2 = str1.replace(" ", ""), str2.replace(" ", "")
if len(_str1) != len(_str2):
return False
else:
return sorted(_str1.lower()) == sorted(_str2.lower())
示例
is_anagram("anagram", "Nag a ram") # True
将字符串转换为烤肉串大小写
import re
def kebab(str):
return re.sub(r"(\s|_|-)+","-",
re.sub(r"[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+",
lambda mo: mo.group(0).lower(),str)
)
示例
kebab('camelCase'); # 'camel-case'
kebab('some text'); # 'some-text'
kebab('some-mixed_string With spaces_underscores-and-hyphens'); # 'some-mixed-string-with-spaces-underscores-and-hyphens'
kebab('AllThe-small Things'); # "all-the-small-things"
打印相同的字符串一定次数。
def n_times_string(str,n):
return (str * n)
示例
n_times_string('py', 4) #'pypypypy'
如果给定的字符串是回文,则返回True,否则返回False。
from re import sub
def palindrome(string):
s = sub('[\W_]', '', string.lower())
return s == s[::-1]
示例
palindrome('taco cat') # True
将字符串转换为蛇形。
import re
def snake(str):
return '_'.join(re.sub('([A-Z][a-z]+)', r' \1',
re.sub('([A-Z]+)', r' \1',
str.replace('-', ' '))).split()).lower()
示例
snake('camelCase') # 'camel_case'
snake('some text') # 'some_text'
snake('some-mixed_string With spaces_underscores-and-hyphens') # 'some_mixed_string_with_spaces_underscores_and_hyphens'
snake('AllThe-small Things') # "all_the_smal_things"
将多行字符串拆分为行列表。
def split_lines(str):
return str.split('\n')
示例
split_lines('This\nis a\nmultiline\nstring.\n') # 'This\nis a\nmultiline\nstring.\n'