除去java中的所有内容

除去java中的所有内容,java,string,Java,String,我有: 如何删除除java中的“”之外的所有内容?引号中的内容是可变的。看看正则表达式 像这样的东西maby String ex = "INSERT INTO `countries` VALUES (1, 'Afghanistan')"; 您可以使用子字符串、indexOf和lastIndexOf方法从字符串中提取片段和部分。如果文本中有超过1对引号,您可能需要循环几次。但是,如果只有一个,您可以使用: pattern = "(?i)'(.+?)'"; String updated = EXA

我有:


如何删除除java中的“”之外的所有内容?引号中的内容是可变的。

看看正则表达式 像这样的东西maby

String ex = "INSERT INTO `countries` VALUES (1, 'Afghanistan')";

您可以使用
子字符串
indexOf
lastIndexOf
方法从
字符串
中提取片段和部分。如果文本中有超过1对引号,您可能需要循环几次。但是,如果只有一个,您可以使用:

pattern = "(?i)'(.+?)'";
String updated = EXAMPLE_TEST.replaceAll(pattern, "$2");
这些将包括引号。如果不需要引号,请执行以下操作:

ex.substring(ex.indexOf("'"), ex.lastIndexOf("'"));

您可以通过“使用String.split(”)将其拆分为一个数组 然后,数组的偶数索引是您希望正则表达式使用的字符串

ex.substring(ex.indexOf("'") + 1, ex.lastIndexOf("'") - 1);

如果有多个被引用的单词可以用于…

请描述您遇到的问题(这可能有助于您提出更好的问题),目前,您的问题并不清楚。应该引用这些
。是的,Beau Grantham是对的。引用它的作品!感谢you@BeauGrantham哦,谢谢你帮我接电话。不客气,安东尼。这只适用于一对报价单。由于您将SQL作为示例数据源,尤其是INSERT语句,所以您可能需要考虑下面的ReGEX解决方案,因为它更健壮。
Matcher match = Pattern.compile("'.*'").matcher("INSERT INTO `countries` VALUES (1, 'Afghanistan')");
if (match.find()) {
    System.out.println(match.group());
}