“ Gedcom文件-如何拆分名称和消除双位。”

时间:2019-02-16 22:59:52

标签: regex notepad++ textpad genealogy gedcom

我有两个问题-都与我的家谱树的gedcom文件有关(我同时使用notepad ++和textpad):

1。)

我大约有1000个人,他们的姓氏中有De,La,Le,Van,Von等(开头),例如,我希望“ Von”加入他们的给定名称(末尾)。

我该如何为所有人(例如全球性的变化)做一个改变(例如全局改变)?

2。)

我有很多村庄/城镇/城市双重名称,例如“丹麦哥本哈根,哥本哈根”。我将双字只是一个字,所以应该是“丹麦哥本哈根”。

我该如何进行更改,以使双字变成一个字(作为全局更改?

希望有人可以帮助我解决这两个问题。

谢谢!

最诚挚的问候,尼克

以下是我的意思示例:

0 @ I @ INDI 1名安娜/冯·帽子/ 2 GIVN安娜 2 SURN Von帽子 1 BIRT 2 DATE 01 Jan 2000 2 PLAC哥本哈根,丹麦哥本哈根

收件人:

0 @ I @ INDI 1名Anna von / Hat / 2 GIVN Amalie Nydia安娜·冯 2 SURN Lysarch Koenigk 1 BIRT 1940年1月1日2 DATE 2 PLAC丹麦哥本哈根

1 个答案:

答案 0 :(得分:1)

对于第一个问题,您可以在圆括号内添加这些名称以为其创建一个组,并在它们之间添加可选|的符号,如下所示。 (De|La|Le|Van|Von)。此代码将突出显示它们并将它们添加到一个组中。然后,通过使用这些名字的提示来根据您的文本匹配名字。例如:

([a-zA-Z]+) \/(De|La|Le|Van|Von) 

然后替换为

$1 $2 /

演示:https://regex101.com/r/9QT99V/2/

对于第二个问题,您可以使用与重复的实例匹配的符号\1。例如,在您的代码中,您可以通过匹配后面跟有逗号,的任何单词来匹配城市,并使用( )将它们放在组中,然后将\1添加到匹配重复的字符串。示例:

([a-zA-Z]+, )\1

替换为:

$1

演示:https://regex101.com/r/Dm76wn/1/