Java 使用带有特殊字符的字符串进行拆分

Java 使用带有特殊字符的字符串进行拆分,java,regex,Java,Regex,我有一个HTML代码,我想从中删除一些特定的标记。我尝试不解析它和检索标记。所以,我在一个字符串中得到了整个HTML代码。我要删除以下标记: <cite>www.youtube.com/watch?v= www.youtube.com/watch?v= 为此,我使用: array=htmlCode.split("<cite>www.youtube.com/watch?v="); array=htmlCode.split(“www.youtube.com/watch?

我有一个HTML代码,我想从中删除一些特定的标记。我尝试不解析它和检索标记。所以,我在一个字符串中得到了整个HTML代码。我要删除以下标记:

<cite>www.youtube.com/watch?v=
www.youtube.com/watch?v=
为此,我使用:

array=htmlCode.split("<cite>www.youtube.com/watch?v=");
array=htmlCode.split(“www.youtube.com/watch?v=”);
此标记出现多次。但是当我拆分时,我的数组中没有子字符串,只有一个完整的代码字符串。为什么会这样

  • 您需要在正则表达式中转义
    ,因为它们有特殊的含义。通常情况下,您可以使用一个反斜杠,
    \
    。但是,我们处于一个字符串的中间,而<代码> \/COD>不幸的是,引号中也有一个特殊的含义。所以,我们必须再次逃避它,这就是为什么我们需要两个反斜杠,
    \

  • 是您正在寻找的一种方法

  • 例如:

    String htmlCode = "START<cite>www.youtube.com/watch?v=END";
    String result = htmlCode.replaceAll("<cite>www\\.youtube\\.com/watch\\?v=", "");
    System.out.println(result);
    
    奖金:

    是测试正则表达式的便捷工具

  • 您需要在正则表达式中转义
    ,因为它们有特殊的含义。通常情况下,您可以使用一个反斜杠,
    \
    。但是,我们处于一个字符串的中间,而<代码> \/COD>不幸的是,引号中也有一个特殊的含义。所以,我们必须再次逃避它,这就是为什么我们需要两个反斜杠,
    \

  • 是您正在寻找的一种方法

  • 例如:

    String htmlCode = "START<cite>www.youtube.com/watch?v=END";
    String result = htmlCode.replaceAll("<cite>www\\.youtube\\.com/watch\\?v=", "");
    System.out.println(result);
    
    奖金:


    是测试正则表达式的便捷工具。

    您应该使用replace方法。顺便说一下,您没有为拆分设置正确的参数。替换??为什么这是错误的?我还尝试在每个特殊字符[array=htmlCode.split(\\www\\.youtube\\.com\\/watch\\?v\\=”)]上加上转义符,这也不起作用。如果您确切知道要删除哪个标记,请尝试替换。您应该阅读split方法的示例。同时,此方法将字符串拆分为查找到的字符串的数量。在您的例子中,您可以使用htmlCode.split(“>”),如果您不想拆分,您可以使用Scanner类。检查sameYou应使用replace方法的文档。顺便说一下,您没有为拆分设置正确的参数。替换??为什么这是错误的?我还尝试在每个特殊字符[array=htmlCode.split(\\www\\.youtube\\.com\\/watch\\?v\\=”)]上加上转义符,这也不起作用。如果您确切知道要删除哪个标记,请尝试替换。您应该阅读split方法的示例。同时,此方法将字符串拆分为查找到的字符串的数量。在您的例子中,您可以使用htmlCode.split(“>”),如果您不想拆分,您可以使用Scanner类。检查sameGood想法的文档。但是响应是完整的HTML代码。如果我将它替换为空白,我将不会得到任何关键字来获取xD。所以,我想我可以用其他一些独特的字符串来代替它。那就行了好主意。但是响应是完整的HTML代码。如果我将它替换为空白,我将不会得到任何关键字来获取xD。所以,我想我可以用其他一些独特的字符串来代替它。那就行了D