从具有一个或多个条件的字符串中删除单词
Remove word from string with one or more condition
如果匹配字符串中的部分单词,
如何删除整个单词?
- 输入:“这是一段漂亮的字符串文字。”
- 规则:如果字符串中存在 "autif",则删除 "beautiful"
- 结果:“这是字符串中的文本。”
如果要检查字符串,请使用 FIND
,然后使用 SUBSTITUTE
。
=IF(ISERROR(FIND("autif",A1)),A1,SUBSTITUTE(A1,"beautiful",""))
虽然没有必要搜索它,但我不明白你为什么不直接替换它。检查它是浪费时间,因为如果它存在,你会把它改掉,如果它不存在,你不会,所以不管怎样都删除它 ...
=SUBSTITUTE(A1,"beautiful","")
如果你有多个条件,你可以把它们都扔到一个公式里...
=SUBSTITUTE(SUBSTITUTE(A1,"beautiful",""), "string", "")
您可以使用:
B1
中的公式:
=TEXTJOIN(" ",,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[not(contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'autif'))]"))
这是 Excel-2019 年的 CSE-entered 公式。
注意:这可能会对标点符号产生影响。
如果匹配字符串中的部分单词, 如何删除整个单词?
- 输入:“这是一段漂亮的字符串文字。”
- 规则:如果字符串中存在 "autif",则删除 "beautiful"
- 结果:“这是字符串中的文本。”
如果要检查字符串,请使用 FIND
,然后使用 SUBSTITUTE
。
=IF(ISERROR(FIND("autif",A1)),A1,SUBSTITUTE(A1,"beautiful",""))
虽然没有必要搜索它,但我不明白你为什么不直接替换它。检查它是浪费时间,因为如果它存在,你会把它改掉,如果它不存在,你不会,所以不管怎样都删除它 ...
=SUBSTITUTE(A1,"beautiful","")
如果你有多个条件,你可以把它们都扔到一个公式里...
=SUBSTITUTE(SUBSTITUTE(A1,"beautiful",""), "string", "")
您可以使用:
B1
中的公式:
=TEXTJOIN(" ",,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[not(contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'autif'))]"))
这是 Excel-2019 年的 CSE-entered 公式。
注意:这可能会对标点符号产生影响。