gpt4 book ai didi

excel - 将字符串拆分为具有特定模式和条件的部分

转载 作者:行者123 更新时间:2023-12-02 10:01:01 26 4
gpt4 key购买 nike

我有一个大约 5k+ 字符串的数组作为某些应用程序的输出(出于安全原因,我可能不会提供确切的数据,但示例格式与实际数据非常相似):

kasdfhkasdhfaskdfj42345sdsadkfdkfhasdf5345534askfhsad
asdfasdf66sdafsdfsdf4560sdfasdfasdf
sdfaasdfs96sadfasdf65459asdfasdf
sadfasdf8asdfasdas06666654asdfasdfsd
fasdjfsdjfhgasdf6456sadfasdfasdf9sdfasdfsadf

简单地说,我有由 5 个部分组成的不间断字母数字字符串:

[latin letters][1 or more digits][latin letters][1 or more digits][latin letters]

字母部分的长度以及数字的数量是随机的,整个字符串长度可能从几个到2-3数百字符,但模式仍然如上。

实际上,我对前导和尾随字符串部分感兴趣,即[1个或更多数字][拉丁字母][1个或更多数字]可能会被抛出离开,但应提取另外 2 个字符串以分隔单元格。

我尝试了 SUBSTITUTESEARCH 函数,但我仍然可能无法处理随机数量的数字。 VBA 是最后一种理想的方法,但如果纯公式无用,那么它也是可以接受的。此外,该解决方案应该灵活,以便将来可能使用类似的模式 - 因此任何正确的指导/通用方法都将受到赞赏。

最佳答案

如果您不介意使用 MS Word 而不是 Excel - 对于此类任务有一种非常简单的方法,其中涉及使用内置的搜索和替换例程>通配符。假设可以在 Word 中打开数据,请执行以下操作:

  1. CTRL+H 打开替换对话框。
  2. 勾选使用通配符选项。
  3. 您要丢弃的数据部分符合以下模式:[0-9]{1,}*[0-9]{1,} - 表示任何数字1 次或多次,其间有任何字符。根据您的区域设置,您需要在此处使用 ; 而不是 ,
  4. 指定您喜欢的任何字符作为替换,例如^t (Tab) 或 ; - 用于进一步拆分部分。
  5. 执行替换。
  6. 您也可以使用功能区插入>表格>将文本转换为表格...功能将其余部分转换为表格。

您现在所需要做的就是保存/粘贴获得的结果。

实际上,该方法非常强大,许多与您类似的常规文本数据解析任务可以快速完成,无需特殊技能和/或编程。为此,您不需要任何第三方工具 - 现在每台 PC 都安装了 Word。

了解有关模式和适用案例的更多信息:

关于excel - 将字符串拆分为具有特定模式和条件的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880438/

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