gpt4 book ai didi

java - 匹配连续的单个字符作为整个单词

转载 作者:行者123 更新时间:2023-11-29 04:52:02 24 4
gpt4 key购买 nike

从字符串列表中过滤时,我想将连续的单个字符作为整个单词进行匹配

例如字符串下方

'm g road'
'some a b c d limited'

在第一种情况下如果用户输入

应该匹配
"mg" or "m g" or "m g road" or "mg road"

在第二种情况下如果用户输入

应该匹配
"some abcd" or "some a b c d" or "abcd" or "a b c d"

我该怎么做,我可以使用正则表达式实现吗?

我现在可以通过一个一个地搜索单词来处理整个单词的顺序,但不确定如何将连续的单个字符视为单个单词

例如"mg road""road mg" 我可以通过搜索 "mg""road" 来处理一个

编辑

为了让需求更清楚,下面是我的测试用例

@Test
public void testRemoveSpaceFromConsecutiveSingleCharacters() throws Exception {
Assert.assertTrue(Main.removeSpaceFromConsecutiveSingleCharacters("some a b c d limited").equals("some abcd limited"));
Assert.assertTrue(Main.removeSpaceFromConsecutiveSingleCharacters("m g road").equals("mg road"));
Assert.assertTrue(Main.removeSpaceFromConsecutiveSingleCharacters("bank a b c").equals("bank abc"));
Assert.assertTrue(Main.removeSpaceFromConsecutiveSingleCharacters("bank a b c limited n a").equals("bank abc limited na"));
Assert.assertTrue(Main.removeSpaceFromConsecutiveSingleCharacters("c road").equals("c road"));
}

最佳答案

1.) 从 stringtocheckuserinput 中去除空格包围的单个字母中的空格。

.replaceAll("(?<=\\b\\w) +(?=\\w\\b)","")

See demo at regexplanet (click Java)

2.) 检查是否 stringtocheck .contains 用户输入

关于java - 匹配连续的单个字符作为整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115044/

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