我得到了这个原始的源文本文件:
Hello {Jane Peter},
I send a email to your address {Jane@a.com Peter@a.com}.
我需要为每个人创建两个文件副本: (items具有相同的索引-第一个{}中的Jane是forJane@a.com 在第二个{})
Hello Jane,
I send a email to your address Jane@a.com.
第二个是:
Hello Peter,
I send a email to your address Peter@a.com
因此,关键是从{}中选择项,并使用select和create命令将整个{}子化,以创建正确数量的源文本副本
您可以使用Formatter.parse从占位符获取姓名/电子邮件:
输出:
使用这个正则表达式匹配括号,然后遍历列表并生成所需的字符串
您可以使用以下代码:
输出:
它将首先使用^{} 找到要替换的第一个组,然后计算匹配中的空格数,以确定需要创建多少个副本。当然,这仅在模板中使用的字符串不包含任何空格时有效。如果您已经知道需要多少副本,则可以跳过此操作
下一段代码将使用^{} 在循环中生成副本
{(.*?)}
将匹配所有需要替换的标记,并捕获括号中的文本。然后它将分割捕获的文本并使用当前正在处理的索引中的项虽然该示例在这种特定场景中有效,但我建议检查此类任务的真实模板库^{} 是一种流行的选择
相关问题 更多 >
编程相关推荐