我有这样的语句:
学分电子存款/银行信贷有效张贴日期日期金额交易明细07/01 2023825.24 Stagecoach大扫除信贷2023825.24年2月7日Stagecoach大扫除信贷07/0219479.00 WT Fed#02868 E Trade Securities/Org=Etrade Securities LLC Srf#8785491070220 Trn#200702058382 Rfb#07/03 2042191.24 Stagecoach清扫信贷07/06 2042191.24 Stagecoach清扫信贷07/07 2042191.24 Stagecoach清扫信贷07/08 2042191.24 Stagecoach清扫信贷07/09 2042191.24 Stagecoach清扫信贷07/10 2042191.24 Stagecoach清扫信贷07/13 2042191.24 Stagecoach清扫信贷07/14 2041936.79 Stagecoach清扫信贷07/15 2041936.79 Stagecoach清扫信贷07/15 61683.50 WT Fed#02317 E Trade Securities/Org=Etrade Securities LLC Srf#882249071520 Trn#200715067847 Rfb#
我需要创建一个Regex公式,该公式将提取并分离mm/dd格式后的所有内容。
示例:
22023825.24 Stagecoach Sweep Credit 07/0219479.00 WT Fed#02868 E Trade Securities/Org=Etrade Securities LLC Srf#8785491070220 Trn#200702058382 Rfb#
则该语句之后的下一行将是紧接在该语句之后以mm/dd格式开始的一行
07/03 2042191.24 Stagecoach扫描信用07/06 2042191.26 Stagecoach扫码信用
由于我对正则表达式还很陌生,我不知道如何处理这个流。。
非常感谢,
不幸的是,您自己的示例不符合mm/dd分隔符后分隔的规则。因此,目前还不清楚实际的分隔符是什么。不过,这里有一个想法。
下面的代码将在文本中显示每个mm/dd匹配及其范围。根据需要,使用结果中条目之间的跨度对原始文本进行切片。如果你能准确地弄清楚切片应该如何,并创建一个函数,将所有内容放入一个漂亮的列表中,那将是最好的:
import re
txt = """
Credits Electronic deposits/bank credits Effective Posted date date Amount Transaction detail 07/01 2,023,825.24 Stagecoach Sweep Credit 07/02 2,023,825.24 Stagecoach Sweep Credit 07/02 19,479.00 WT Fed#02868 E Trade Securities /Org=Etrade Securities LLC Srf# 8785491 070220 Trn#200702058382 Rfb# 07/03 2,042,191.24 Stagecoach Sweep Credit 07/06 2,042,191.24 Stagecoach Sweep Credit 07/07 2,042,191.24 Stagecoach Sweep Credit 07/08 2,042,191.24 Stagecoach Sweep Credit 07/09 2,042,191.24 Stagecoach Sweep Credit 07/10 2,042,191.24 Stagecoach Sweep Credit 07/13 2,042,191.24 Stagecoach Sweep Credit 07/14 2,041,936.79 Stagecoach Sweep Credit 07/15 2,041,936.79 Stagecoach Sweep Credit 07/15 61,683.50 WT Fed#02317 E Trade Securities /Org=Etrade Securities LLC Srf# 8824249 071520 Trn#200715067847 Rfb#"""
pattern = re.compile(r'(d{2}/d{2})')
res = re.finditer(pattern, txt)
for r in res:
print(r)
# Two examples
print(txt[94:137])
print(txt[137:180])
这有点过时,但如果您没有找到解决方案,那么您可以在Alteryx中按如下方式进行。
首先,确保您的字段大小足够大(您可以使用Select(REGEX,配置如下:
表达式:(\s\d\d/\d\d\s(
方法:更换
文本:\n%1
然后使用文本到列:分隔符(\n(和拆分到行
如果您需要将同一日期的数据移动到同一行,则可以使用多行,也可以将日期拆分并使用摘要连接