小编Osm*_*Osm的帖子

当字符串中存在重复字母时获取匹配项

我在谷歌表格中有一个输入列表,

输入 所需输出 “仅演示而不是输入”重复的字母
户外活动 匹配
没有匹配
没有匹配
蜜蜂 匹配 e
棋盘 匹配 s
食谱 匹配 好的

如何在不拆分字符串的情况下验证字符串中的所有字母是否唯一?

换句话说,如果字符串中有一个或多个字母出现两次或多次,则返回TRUE

到目前为止我的流程

除了分割字符串并将字符串的长度除以字符串的唯一字母之外,我还尝试了此解决方案,if = 1“匹配”,否则“不匹配”COUNTA

或者使用正则表达式
,我发现了一种方法来匹配字符串中出现的字母 2 次此演示,REGEXEXTRACT 但等待需要的是当字母在字符串中不唯一时得到TRUE

=REGEXEXTRACT(A1,"o{2}?")
Run Code Online (Sandbox Code Playgroud)

返回:

oo
Run Code Online (Sandbox Code Playgroud)

像这样的事情会做

=REGEXMATCH(Input,"(anyletter){2}?")
Run Code Online (Sandbox Code Playgroud)

或者像这样

=REGEXMATCH(lower(A6),"[a-zA-Z]{2}?")
Run Code Online (Sandbox Code Playgroud)

笔记

  • 第三列“C 列”仅用于演示,不用于输入。
  • 匹配不区分大小写
  • 不需要分割字符串以避免繁重的计算“我有很长的列表”
  • 避免使用 lambda 及其辅助函数,明白为什么吗?
  • 返回TRUEorFALSE代替Matchor 就可以了No Match,保持简单。

更多示例

输入 所需输出
专业地 匹配
吸引力 匹配
无法控制地 匹配
声名狼藉地 …

regex google-sheets re2 google-sheets-formula

4
推荐指数
3
解决办法
1088
查看次数

为什么 split 可以在没有分隔符的情况下工作?

我在这里遇到这个公式,为什么分割没有分隔符?

\n
=SPLIT(A2&"\xe2\x80\x8b"&B2, "\xe2\x80\x8b")\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

但不显示这个错误。

\n

在此输入图像描述

\n

split join google-sheets zero-width-space google-sheets-formula

0
推荐指数
1
解决办法
105
查看次数