簡體   English   中英

從URL中提取字符串的一部分 - Java Regex

[英]Extract part of a string from a URL - Java Regex

我正在嘗試在'/'和'。'之間提取一個字符串。 一個URL。 例如,我有一個像“some.com/part1/part2/part3/stringINeed.xyz”這樣的網址。 我需要從上面的URL中提取“stringINeed”,即最后一個'/'和'。'之間的URL。 沒有其他的。

到目前為止,我嘗試了以下內容,它給出了一個空輸出:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

class Extract
{
    public static void main (String[] args) throws java.lang.Exception
    {
        String str = "part1/part2/part3/stringINeed.xyz" ;
        Pattern pattern = Pattern.compile("/(.*?).");
        Matcher matcher = pattern.matcher(str);
        if (matcher.find()) {
     System.out.println(matcher.group(1));
        }
    }
}

我的代碼有什么問題。 有人可以幫忙嗎?

使用這個正則表達式:

[^/.]+(?=\.[^.]+$)

演示

在Java中:

Pattern regex = Pattern.compile("[^/.]+(?=\\.[^.]+$)");
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
    ResultString = regexMatcher.group();
} 

說明

  • [^/.]+匹配任何不是斜杠或點的字符
  • 前瞻(?=\\.[^.]+)斷言接下來是一個點后跟非點和字符串的結尾

沒有正則表達式

str.substring(str.lastIndexOf("/"), str.lastIndexOf(".")).replaceAll("/", "");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM