如何将帕斯卡命名法(Pascal Case)字符串拆分为独立字符串?
拆分帕斯卡命名法字符串的Python实现
针对你给出的帕斯卡命名法长字符串,这里提供两种实用的拆分方法:
方法一:使用正则表达式(简洁高效)
利用正则表达式匹配所有以大写字母开头、后续跟小写字母的单词,是最直接的实现方式:
import re cities = ["KyivKharkivDniproOdessaDonetsk"] # 提取所有符合帕斯卡命名规则的单词 split_result = re.findall(r'[A-Z][a-z]*', cities[0]) # 替换原列表内容(如果需要保留原结构) cities = split_result print(cities) # 输出: ["Kyiv", "Kharkiv", "Dnipro", "Odessa", "Donetsk"]
方法二:手动遍历字符(无依赖)
如果不想依赖正则模块,可以通过遍历字符串的每个字符,判断大写字母的位置来拆分:
cities = ["KyivKharkivDniproOdessaDonetsk"] long_str = cities[0] split_result = [] start_pos = 0 for index, char in enumerate(long_str): # 遇到非开头的大写字母时,拆分出前面的单词 if char.isupper() and index != 0: split_result.append(long_str[start_pos:index]) start_pos = index # 添加最后一个单词 split_result.append(long_str[start_pos:]) cities = split_result print(cities) # 输出: ["Kyiv", "Kharkiv", "Dnipro", "Odessa", "Donetsk"]
两种方法都能得到你期望的结果,正则方法更适合快速实现,手动遍历则更灵活,可根据需求调整拆分逻辑。
内容的提问来源于stack exchange,提问作者Amanuel Khailu
相关产品推荐
相关产品推荐

