Java: Как найти / заменить (без учета регистра) несколько подстрок с 1 строкой? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть следующий текст

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 ]

0 голосов
/ 04 сентября 2018

Ваше текущее выражение заменит только https://, а не http://. Вы, вероятно, хотели сделать (s) необязательным, но забыли. "(?i)http(s)?://" будет делать то, что вы хотите. Скобки лишние на один символ, хотя, если вы не хотите захватить его, поэтому "(?i)https?://" сделает то же самое, но немного быстрее.

0 голосов
/ 04 сентября 2018
String url = "http://www.google.com".replaceAll("^(http[s]?://)", "");

Попробуйте это для своего Regex

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...