Spaces:
Runtime error
Runtime error
File size: 1,397 Bytes
a57c6eb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
from typing import List
import re
def has_key_brace(string: str) -> bool:
"""检测字符串中是否含有{x}。
注意,不是检测是否有{}
Args:
string (str):
Returns:
bool:
"""
flag = re.search("\{.+\}", string)
flag = flag is not None
return flag
def merge_near_same_char(string: str, target_char=", ") -> str:
"""合并连续不变的指定字符为1个。如 `1,2,,3,,,4`合并成`1,2,3`
Args:
string (str): 待处理的字符串
target_char (str, optional): 指定的连续字符. Defaults to ",".
Returns:
str: 处理后的字符串
"""
string = re.sub("({}*)+".format(target_char), target_char, string)
return string
def get_word_from_key_brace_string(string: str, start="{", end="}") -> List:
"""从含有`{key}`的模板字符串中 获取所有的关键词`key`
Args:
string (str): 含有`{key}`的模板字符串
Returns:
List: 所有关键词 key 列表
"""
words = re.findall(f"{start}[^{start}|^{end}]+{end}", string)
words = [word[len(start) : -len(end)] for word in words]
return words
def clean_str_for_save(string: str, disallowed_chars: List = None):
if disallowed_chars is None:
disallowed_chars = r'[\\/:*?"<>|]'
cleaned_filename = re.sub(disallowed_chars, "", string)
return cleaned_filename
|