用空格标记字符串,排除 Java 中带引号的子字符串
基于空格分隔字符串可能很简单,但是如果字符串被引用并且应该被视为单个标记?在 Java 中,您可以使用正则表达式实现这种细致入微的拆分。
要处理这种情况,可以使用以下方法:
String str = "Location \"Welcome to india\" Bangalore Channai \"IT city\" Mysore"; List<String> list = new ArrayList<>(); Matcher m = Pattern.compile("([^\"]\S*|\".+?\")\s*").matcher(str); while (m.find()) list.add(m.group(1));
此处使用的正则表达式有效地将字符串拆分为基于空格的标记,但它也标识引用的子字符串。通过将这些带引号的子字符串捕获为单个标记,我们可以确保像“Welcome to india”这样的短语保持完整。
正则表达式可以理解如下:
这允许我们处理带引号的复杂字符串有效的短语。结果列表包含代表单个单词或引用的短语的标记,如所提供的示例中所要求的。
以上是如何在 Java 中对带空格的字符串进行标记,排除引用的子字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!