簡體   English   中英

如何在 Java 中使用正則表達式模式匹配字符串的結尾?

[英]How to match a string's end using a regex pattern in Java?

我想要一個與字符串末尾匹配的正則表達式模式。

我正在實現一個詞干算法,將刪除一個詞的后綴。

例如,對於單詞“Developers”,它應該匹配“s”。
我可以使用以下代碼來做到這一點:

Pattern  p = Pattern.compile("s");
Matcher m = p.matcher("Developers");
m.replaceAll(" "); // it will replace all 's' with ' '

我想要一個僅匹配字符串結尾的正則表達式,例如replaceLast()

您需要匹配“s”,但前提是它是單詞中的最后一個字符。 這是通過邊界斷言 $ 實現的:

input.replaceAll("s$", " ");

如果增強正則表達式,則可以通過一次調用 replaceAll 替換多個后綴:

input.replaceAll("(ed|s)$", " ");

使用$

Pattern p = Pattern.compile("s$");
    public static void main(String[] args) 
{
    String message = "hi this message is a test message";
    message = message.replaceAll("message$", "email");
    System.out.println(message);
}

檢查這個, http://docs.oracle.com/javase/tutorial/essential/regex/bounds.html

看看下面的例子:

String ss = "Developers".replaceAll(".$", " ");

暫無
暫無

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

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