python - 用逗号分割字符串,除非后跟空格或“+”
问题描述
我正在尝试用逗号分隔一个极长的字符串。但是,我有两个要求:
- 逗号后面不能跟空格
- 逗号后面不能跟 '+' 符号
例如,输入将是:
text = "hello,+how are you?,I am fine, thanks"
它的输出是:
['hello,+how are you?', 'I am fine, thanks']
即,分隔值的唯一逗号是后面没有“+”或空格的逗号
我已管理要求 1) 如下:
re.split(r',(?=[^\s]+)',text)
我不知道如何添加要求 2)
解决方案
最简单的解决方案是只查找您不想要的模式,并完全排除它。您可以在正则表达式中使用负前瞻来做到这一点。
>>> text = "hello,+how are you?,I am fine, thanks"
>>> re.split(r',(?![+ ])', text)
['hello,+how are you?', 'I am fine, thanks']
这将匹配,
,除非它后跟文字+
或space
.
推荐阅读
- r - R:x轴/axis.POSIXct()函数上显示的时间
- javascript - jQuery将活动类添加到第三个动态创建的div
- google-sheets - 在运行 BigQuery 作业之前确定资源使用情况
- scala - Spark MLLIB:计算随机森林回归的标准差值
- oracle-apex-5 - Oracle 顶点开发-INT-PROD
- graphql - 是否可以使用 graphql 多次查询同一个字段
- c++ - 在 C++11 中获取/释放 VS 顺序一致性?
- configuration - .Net Core 2.0 为多个环境配置 Appsettings
- matplotlib - “价值的颜色”没有按预期工作
- python - 使用 matplotlib 和 pandas 库的情节不清楚