| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import string
- import re
- def remove_punctuation_from_array(stringvalue):
- """
- 删除字符串数组中每个字符串的标点符号
-
- 参数:
- stringvalue: 包含多个字符串的列表/数组
-
- 返回:
- 删除标点符号后的新字符串列表
- """
- # 创建翻译表,删除所有标点符号
- translator = str.maketrans('', '', string.punctuation)
-
- # 对数组中的每个字符串应用翻译表
- cleaned_strings = [text.translate(translator) for text in stringvalue]
-
- return cleaned_strings
- def remove_punctuation_regex(text_list):
- """
- 方法2: 使用正则表达式 - 灵活且易读
- """
- return [re.sub(r'[^\w\s]', '', text) for text in text_list]
- def remove_punctuation_filter(text_list):
- """
- 方法3: 使用列表推导式和isalnum() - 简单直观
- """
- return [''.join(char for char in text if char.isalnum() or char.isspace())
- for text in text_list]
- if __name__ == "__main__":
- # 示例:假设stringvalue存储了三个字符串
- stringvalue = [
- "Hello, World!",
- "Python's great, isn't it?",
- "Wait... what?! Really?!"
- ]
-
- print("原始字符串数组:")
- for i, s in enumerate(stringvalue, 1):
- print(f"{i}. '{s}'")
-
- # 删除标点符号
- result = remove_punctuation_from_array(stringvalue)
-
- print("\n删除标点符号后:")
- for i, s in enumerate(result, 1):
- print(f"{i}. '{s}'")
-
- print("\n" + "="*60)
- print("其他方法(如果需要):")
- print("="*60)
-
- # 方法2: 使用正则表达式
- result_regex = remove_punctuation_regex(stringvalue)
- print("\n正则表达式方法:")
- for i, s in enumerate(result_regex, 1):
- print(f"{i}. '{s}'")
-
- # 方法3: 使用isalnum过滤
- result_filter = remove_punctuation_filter(stringvalue)
- print("\nisalnum过滤方法:")
- for i, s in enumerate(result_filter, 1):
- print(f"{i}. '{s}'")
|