使用 Mid 和 InStr 从连字符字符串中提取数据

问题描述 投票:0回答:1

下面是我的 Access 查询中 A 列值的三行示例,全部都是不同数量的字符并用连字符分隔:

Column_A

10-123-20000000-JaneBank-JaneBank1001-区域

100-1234-40000-NeilBank-NeilBank1201-区域

10-12125-2232456-ABCAcct-ABCAcct2122-区域

因此,从这些行中,我只想返回每行第四个和第五个连字符之间的值

非常感谢您的帮助

在B列中我尝试了以下两个表达式:

B 列:Mid([A 列],InStr([A 列],"-")+1,InStr(Right([A 列],Len([A 列])-InStr([ A 列],"-")),".")-1)

B 列:Trim([Column_1],InStr([A 列],"-")+1,InStr(InStr([A 列]."-")+1,[A 列]," -")-InStr([Column_A],"-")-1))

我尝试了右、左和中的各种组合以及 Instr 和 InsrtRev 的变化。有人可以帮助我提供正确的查询代码吗?这两个结果仅在第二个和第三个连字符之间。

非常感谢您的帮助

ms-access-2016
1个回答
0
投票

数据薄荷,

使用 Split() 函数:

x="10-123-20000000-JaneBank-JaneBank1001-Regions"
y=split(x,"-",-1)
?y(4)
JaneBank1001

调整代码下标以获得您想要的项目。

© www.soinside.com 2019 - 2024. All rights reserved.