Excel | 如何在两个不同的字符之间拆分字符串文本?

Excel | 如何在两个不同的字符之间拆分字符串文本?

这是我第一次在这里发帖,所以请耐心等待。

我在单元格 A1 中有以下字符串:

C.公司名称_E.234500_Y.波士顿_马萨诸塞州南部_S.800x600_

我想将 CompanyName(C. 和 _ 之间的文本)解析到 B2,将 234500 解析到 C2(E. 和 _ 之间的数字 234500),将 Boston(Y. 和 _ 之间的文本)解析到 D2,等等......

根据两个不同的字符拆分文本字符串的最佳方法是什么?在本例中是 X. 和 _

谢谢

答案1

把这个放在 B2 中:

=MID(TRIM(MID(SUBSTITUTE($A2,"_",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999)),3,999)

然后复制/拖动至上方和下方。 在此处输入图片描述

答案2

感谢您的快速回复。我能够使用以下公式来计算:公式

这仅当字段的前缀都不同(ABCDE 等)时才有效

答案3

您应该像这样使用通配符,其中“?”是字符的通配符

dim str_to_cut as String, aux_str as String
dim str_ls as Variant()
dim workbook as workbook
set workbook = activeworkbook
dim ws as worksheets
set ws = workbook.sheets(1)

str_to_cut = C.CompanyName_E.234500_Y.Boston_S.Massachusetts_S.800x600_
str_ls = Split(str_to_cut, "_")

for x = 0 to Ubound(str_ls)-Lbound(str_ls)  #size the array
    aux_str = Split(str_ls(x), "=?.")(1)    #maybe you don't need the =
    ws.cells(1, x+2) = aux_str              #need to get the right column 
next x

您可能需要调整放置结果的逻辑,也许还需要调整一些语法,谢谢

相关内容