2017-09-21 10 views
-4

私はURL内の英数字の組み合わせを値XYZに置き換えようとしています。どういうわけかその失敗。私はこのようなものを試しましたurlの英数字のみを置換するjava regex

replaceAll("(\\.*/)([a-z0-9])([\\/])", "$1$3"); 

私に正規表現を教えてください。

  1. それはalphanum

入力の唯一combinationation置き換える

  • ホスト名とポートを無視すべきである:https://somehost:someport/employee/v1/salaries/123/as56hgXWF

    予想される出力:/employee/XYZ/salaries/123/XYZ

  • 答えて

    0

    あなたはそれを試すことができます!

    public static void main(String[] args) throws Exception { 
    
        String str1 = "https://somehost:someport/employee/v1/salaries/123/as56hgXWF"; 
        //String str2 = "/employee/v1/salaries/123/as56hgXWF"; 
        String str2 = str1.replaceAll("^http.*://[a-zA-Z0-9.:]+", ""); 
        String rgx = "(?<=([a-zA-Z0-9][/\\\\]))((([a-zA-Z]+)([0-9]+)([a-zA-Z0-9]*))|(([0-9]+)([a-zA-Z]+)([a-zA-Z0-9]*)))"; 
        System.out.println(str1.replaceAll(rgx, "XYZ")); // print -> https://somehost:someport/employee/XYZ/salaries/123/XYZ 
        System.out.println(str2.replaceAll(rgx, "XYZ")); // print -> /employee/XYZ/salaries/123/XYZ 
    
    } 
    

    希望をお手伝い! :)

    +0

    本当にありがとうございました。クイックヘルプを感謝します。 – Venkat

    関連する問題