【发布时间】:2021-01-11 08:48:38
【问题描述】:
我想创建一个函数,从一个句子中提取所有长度 = 2 的单词。例如,如果句子是“The Cat is brown”,我希望单元格中的结果是“is”。如果有多个长度 = 2 的单词,我也想保留这些单词。我尝试过 MID、RIGHT、LEFT 等。这些都不起作用,因为单词的位置并不总是相同。
我不知道如何在 VBA 中执行此操作,欢迎提出任何建议 :)
谢谢
【问题讨论】:
-
对我来说最简单的方法是遍历单元格中的所有字符。如果有多个 2 个字母的单词,您希望它如何返回?例如
is, be, on -
使用 find() 查找空格并计算出它们之间的区别。然后可以使用 mid() 等。切碎文本的一个很好的练习。提示:使用 find() 查找第一个空格,然后查找第二个...
-
更具体地说,它们是我想提取的句子中的国家/地区缩写 :-) 我会将它们与所有国家/地区缩写的列匹配,因此分隔符无关紧要
-
您能否分享一个数据样本和预期结果。分享您的代码可能有助于我们理解。您是否会考虑标点符号问题,即如果不考虑,
UK可能无法在Are you from the UK?中找到。此外,正如 Simon 已经问过的,您将如何返回多个结果?在数组中,多个单元格,分隔的“列表”或...? -
我们不需要数据本身,只需一个具有预期结果的适当样本就可以了。您的预期结果是:
This is a name, address, PA US.。此外,您的数据是否总是以逗号分隔,感兴趣的数据是否总是在最后一个逗号后面?更具体地说,最后一个逗号后面是否只有两个字母单词?
标签: excel vba count word sentence