Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 从逗号开始提取子字符串,向右移动,直到找到空格_Regex_Excel - Fatal编程技术网

Regex 从逗号开始提取子字符串,向右移动,直到找到空格

Regex 从逗号开始提取子字符串,向右移动,直到找到空格,regex,excel,Regex,Excel,我在一列中有一系列地址。我试图将每个组件(街道地址、城市、州和邮政编码)提取到单独的列中 我能够用“=右(A1,5)”相当容易地提取邮政编码。然而,我很难从这座城市中脱颖而出。所有行的格式如下所示。我的想法是找到逗号,然后从右到左提取子字符串,直到得到一个空格。我该怎么做 以下是数据的示例: 2209 Fake Street Arlington, TX 76015 3100 Fake Street Bedford, TX 76021 3558 Fake Street Flower Mound,

我在一列中有一系列地址。我试图将每个组件(街道地址、城市、州和邮政编码)提取到单独的列中

我能够用“=右(A1,5)”相当容易地提取邮政编码。然而,我很难从这座城市中脱颖而出。所有行的格式如下所示。我的想法是找到逗号,然后从右到左提取子字符串,直到得到一个空格。我该怎么做

以下是数据的示例:

2209 Fake Street Arlington, TX 76015
3100 Fake Street Bedford, TX 76021
3558 Fake Street Flower Mound, TX 75028
4230 Fake Street Fort Worth, TX 76119
2662 Fake Street Bedford, TX 76021

这只适用于只有一个词的城市。如果没有地址类型,那么在城市名称的开头查找地址类型(道路、街道等)将不起作用。我认为如果您的布局在街道和城市之间没有唯一的分隔符,那么您可能需要一个邮政编码查找表来获取城市

此外,如果两个不同的城市有相同的邮政编码,则需要代码来解决问题。例如,在德克萨斯州,76119可以指沃思堡、森林山或沃思堡。您可能需要代码来处理拼写错误


这可能是因为这些数字太少,不足以进行手动更正。

这只适用于只有一个单词的城市。如果没有地址类型,那么在城市名称的开头查找地址类型(道路、街道等)将不起作用。我想如果你的布局在街道和城市之间没有唯一的分隔符,你可能需要一个邮政编码查找表来获取城市。谢谢,罗恩。我用了你的主意,效果很好。