代码之家  ›  专栏  ›  技术社区  ›  mrjayviper

Java:如何用1个字符串查找/替换(不区分大小写)几个子串?

  •  -3
  • mrjayviper  · 技术社区  · 6 年前

    我有以下文字

    http://www.google.com
    

    我想去掉“http://”,所以得到的文本是

    www.google.com网站

    此外,代码还应该去掉“https://”以防使用。

    谢谢

    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            String url = "http://www.google.com".replaceAll("(?i)http(s)://", "");
            System.out.print("url: " + url);
        }
    }
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Amadan    6 年前

    当前表达式将只替换 https:// 不是 http:// . 你可能想 (s) 可选,但忘记了。 "(?i)http(s)?://" 会做你想做的。但是,括号在单个字符上是多余的,除非您想捕获它,所以 "(?i)https?://" 也一样,不过要快一点。

        2
  •  2
  •   paddy    6 年前
    String url = "http://www.google.com".replaceAll("^(http[s]?://)", "");
    

    试试这个给你的regex