SQLite:如何拆分列

时间:2015-06-07 17:55:08

标签: regex sqlite

我有一个包含两个名称的列,我想将其提取到两个单独的列surname1surname2中(我不需要名称和首字母(例如{{1} }}))。

该列的示例性内容是:

N.

-Lopez和Lorenzi是我们正在寻找的这两个。

我的情况有什么好处,第一个名字总是在第一个点(AwyeEaef2012 MS101 N.Lopez-O.Lorenzi.txt )之后,在破折号(.)之前结束,第二个名字恰好在第二个点之后。在第三个点和-txt)之前结束。

我知道如何编写正则表达式并使用.txt检查该列是否包含某些特定姓氏但不相反 - 如何读取姓氏并将其写入两个新列。

该列的几行如下所示:

LIKE

所以模式就像我提到的那样WyeEaef MN2014 MS401 N.Lopez-O.Lorenzi.txt AwyufEQ WCH2014 OS401 N.Lorenzi-O.Lopez.txt THAFa5u WCH2014 LS107 N.Larry-O.Lolly.txt

其中*最多30个字符的大写字母和小写字母和数字

可以用这种方式接近:其他的话我们需要把它分成子串,用点除以第一个子串是浪费,第二个没有两个最后的字符(一个破折号和大写字母,例如-O)是第一个名字,第三个子串是第二个名称,第四个是另一个废物(以前的文件格式)。

我想要一个三列的输出: initialColumn,firstName,secondName

1 个答案:

答案 0 :(得分:1)

我在Excel中作为公式编写的解决方法,我个人不喜欢,但可能对将来有用。

=MID(A1;FIND(".";A1;1)+1;FIND(".";A1;FIND(".";A1;1)+1)-FIND(".";A1;1)-3)

我很惊讶Excel可以在眨眼间处理约0.5百万条记录。