Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除嵌入字符串_Java_String - Fatal编程技术网

Java 删除嵌入字符串

Java 删除嵌入字符串,java,string,Java,String,我正在寻找最有效的Java方法,它允许我“删除嵌入的字符串”。例如,如果我有字符串“Bob说”Hello world\“,我调用它的方法,结果应该是:”鲍勃说。谢谢你的帮助 请注意,我希望这个方法是通用的,这样,如果Bob说了“hello world”以外的话,它仍然可以工作。您可以尝试 String string = "Bob said \"Hello world!\"."; string = string.replaceAll("\"[^\"]+\"", ""); 如果只想删除第一个带引号

我正在寻找最有效的Java方法,它允许我“删除嵌入的字符串”。例如,如果我有字符串“Bob说”Hello world\“,我调用它的方法,结果应该是:
”鲍勃说。谢谢你的帮助

请注意,我希望这个方法是通用的,这样,如果Bob说了“hello world”以外的话,它仍然可以工作。

您可以尝试

String string = "Bob said \"Hello world!\".";
string = string.replaceAll("\"[^\"]+\"", "");
如果只想删除第一个带引号的文本,请使用replaceFirst。

只需使用正则表达式:

String newString = string.replaceAll("\"[^\"]*\"","");

假设字符串中的
\“
s为偶数,则可以使用如下内容:

private String deleteEmbedded(String input) {
    String[] split = input.split("\"");
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < split.length; i+=2) {
        sb.append(split[i]);
    }
    return sb.toString();
}
私有字符串删除嵌入(字符串输入){
String[]split=input.split(“\”);
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
使用正则表达式来完成此操作

    private String removeSubStrings(String s) {
        return s.replaceAll("\"[^\"]*\"", "");
    }

调用RemoveSubstring(“Bob说”Hello world!\”)将产生
Bob said。

您是在寻找任何嵌入的字符串还是仅仅“Hello world!”?该方法可能会返回一个字符串。是的,任何嵌入的字符串。