如何获得某些数字

我有一个从SQL数据库导出的Excel中的列。

列是这样读的:

'Payment Funds: (654321) Company charged Public - Payment of transfer. Charged from account xyz to abc (into autopac agent).' 

参考号码:654321,帐号:xyz和abc; 评论:(进入autopac代理) – 对于该列的所有logging是不同的。

我只需要获取所有logging的参考号码,我将如何去做呢? 首选的方法是在SQL,但会采取基于电子表格的答案….

谢谢,

巫毒

如果您使用的是MS SQL Server,那么下面的内容应该可以工作。 string函数可以在RDBMS之间有所不同。 指定在问题中使用哪种技术是个好主意。

 SELECT SUBSTRING(col, CHARINDEX('(', col) + 1, CHARINDEX(')', col) - CHARINDEX('(', col) - 1) FROM Some_Table 

试试这个,它是Excel的正则expression式函数:

 Private Function RegularExpression(SearchString As String, Pattern As String) As String Dim RE As Object, REMatches As Object 'Create the regex object' Set RE = CreateObject("vbscript.regexp") With RE .MultiLine = False .Global = False .IgnoreCase = True 'set the search pattern using parameter Pattern' .Pattern = Pattern End With 'Search for the pattern' Set REMatches = RE.Execute(SearchString) If REMatches.Count > 0 Then 'return the first match' RegularExpression = REMatches(0) Else 'nothing found, return empty string' RegularExpression = "" End If End Function 

你可以把它公开并使用它
=RegularExpression(A2,"[0-9]{6}")这将得出单元格A2内的前6位数字序列
注意:这是一个较旧的function,所以你可能需要玩一下,但应该没问题