在行中仅用 $ 替换第一个逗号
Replace First Comma Only with $ in Lines
使用 Notepad++,我有一个制表符分隔的数据集,我想在其中仅用 $ 替换第一个字段中的第一个逗号,而保留该行的其余部分。我打算使用这个新的数据集,使用 Excel 将第一个字段拆分为两个字段。我对 Regex 的基本掌握并没有让我掌握完成它的知识。如何修改此公式以处理第一个字段中的额外逗号?任何帮助将不胜感激。
原文:
Parent, Jessica, 1816-1891--->LIS-BMD-006-06--->D--->102--->Laura Bush's Scrapbook
修改后的行:
Parent$ Jessica, 1816-1891--->LIS-BMD-006-06--->D--->102--->Laura Bush's Scrapbook
===
应用原始表达式后,我发现有几行是独一无二的,因为它们不包含分隔 Last_Name 和 First_Names [OR] 的逗号,甚至更频繁地包含分隔 Last_Name 和 [= 的句点36=]。尽管这个数字只有 1% 左右,但在一个 150 万行的文件中,这代表了相当大的搜索量。
常规模式:
Payne, Jeremiah--->(表达式可以正确生成 Payne$Jeremiah--->)
不寻常的模式:
(1) Payne Jeremiah--->(表达式在行中传递,创建一种情况,其中来自字段 3 的数据移回字段 2)
(2) 佩恩。 Jeremiah--->(表达式在行中传递,创建一种情况,其中来自字段 3 的数据移回字段 2)
(3) Payne, Jeremiah, Joseph--->(表达式正确替换了第一个逗号,但可能会根据第二个逗号产生问题)
似乎有必要在第一个 TAB 处创建一个 "barrier" 以更正第一个 TAB 之前的所有变体,因为这将需要作为 TAB 分隔导入回 Exel分割原来的第一个字段。
- 查找内容:
^[^,]*\K,
- 替换为:
$
- 校验正则表达式
解释:
^ # beginning of line
[^,]* # 0 or more any character that is not a comma
\K # forget all we have seen until this position
, # a comma
使用 Notepad++,我有一个制表符分隔的数据集,我想在其中仅用 $ 替换第一个字段中的第一个逗号,而保留该行的其余部分。我打算使用这个新的数据集,使用 Excel 将第一个字段拆分为两个字段。我对 Regex 的基本掌握并没有让我掌握完成它的知识。如何修改此公式以处理第一个字段中的额外逗号?任何帮助将不胜感激。
原文:
Parent, Jessica, 1816-1891--->LIS-BMD-006-06--->D--->102--->Laura Bush's Scrapbook
修改后的行:
Parent$ Jessica, 1816-1891--->LIS-BMD-006-06--->D--->102--->Laura Bush's Scrapbook
=== 应用原始表达式后,我发现有几行是独一无二的,因为它们不包含分隔 Last_Name 和 First_Names [OR] 的逗号,甚至更频繁地包含分隔 Last_Name 和 [= 的句点36=]。尽管这个数字只有 1% 左右,但在一个 150 万行的文件中,这代表了相当大的搜索量。
常规模式:
Payne, Jeremiah--->(表达式可以正确生成 Payne$Jeremiah--->)
不寻常的模式:
(1) Payne Jeremiah--->(表达式在行中传递,创建一种情况,其中来自字段 3 的数据移回字段 2)
(2) 佩恩。 Jeremiah--->(表达式在行中传递,创建一种情况,其中来自字段 3 的数据移回字段 2)
(3) Payne, Jeremiah, Joseph--->(表达式正确替换了第一个逗号,但可能会根据第二个逗号产生问题)
似乎有必要在第一个 TAB 处创建一个 "barrier" 以更正第一个 TAB 之前的所有变体,因为这将需要作为 TAB 分隔导入回 Exel分割原来的第一个字段。
- 查找内容:
^[^,]*\K,
- 替换为:
$
- 校验正则表达式
解释:
^ # beginning of line
[^,]* # 0 or more any character that is not a comma
\K # forget all we have seen until this position
, # a comma