gpt4 book ai didi

c# - 使用 Regex Split 将长字符串拆分为数字和字母组件

转载 作者:行者123 更新时间:2023-12-02 09:43:57 24 4
gpt4 key购买 nike

我正在制作一个应用程序,它读取包含客户信息的 Excel 文件并将这些数据推送到 SQL 数据库中。问题在于,最初的设计者没有使用列来存储客户姓名客户电话辅助联系人姓名辅助联系电话他们将所有内容都放在一栏中的一个长句子中。

我的计划是从条目中删除所有空格和非字母数字字符,这样我基本上会得到一个长字符串,其最长可能是这样的

JeffSmith07621589641SarahSmith09854315741

我打算使用正则表达式拆分名称和数字(并进一步将名称再次拆分为第一个/最后一个)。我一直在尝试 regex.split 像这样

String[] splitArray = Regex.Split("JeffSmith07621589641SarahSmith09854315741", 
@"(?<=[a-zA-Z])(?=\d)");

我希望得到 4 个元素,但结果却是这样的

stringArray[0] = JeffSmith
stringArray[1] = 07621589641SarahSmith
stringArray[3] = 09854315741

如您所见,我没有从第一个电话号码和第二个姓名中分离出来。

提取数据的最佳方法是什么?

如果它是正则表达式,则需要添加到正则表达式中才能实现我正在寻找的内容?

正则表达式很慢,我在 Excel 文件中有大约 4000 条记录需要处理。

最佳答案

是的,对另一种可能性做同样的事情。即,还匹配数字和字母之间存在的边界。目前您的正则表达式仅匹配字母和数字之间存在的边界。

String[] splitArray = Regex.Split("JeffSmith07621589641SarahSmith09854315741", @"(?<=[a-zA-Z])(?=\d)|(?<=\d)(?=[a-zA-Z])");

DEMO

关于c# - 使用 Regex Split 将长字符串拆分为数字和字母组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32997103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com