2016-02-18 78 views
0

我在Java中有一個字符串,它以斜線開頭,但斜槓的數量未知。如何在開始時刪除所有斜線?如何刪除字符串中的所有前導斜槓?

例如:

String a="//abc"; 

應該輸出abc

String b="////abc"; 

還應該輸出abc

+7

你是怎麼嘗試的?顯示代碼 – erosb

+0

閱讀String類中的replaceAll方法的javadoc – Ankit

回答

2

您可以使用一個簡單的模式:

private static final Pattern HEADING_SLASHES = Pattern.compile("^/+"); 

// ... 

public static String removeHeadingSlashes(final String input) 
{ 
    // .replaceFirst() or .replaceAll() will have the same effect, so... 
    return HEADING_SLASHES.matcher(input).replaceFirst(""); 
} 
1
public static void main(String[] args) { 
    String slashString = "//ab/c"; 

    System.out.println(slashString.replaceAll("^/+", "")); 
} 

輸出爲:

AB/C

+3

這將刪除* all *斜線,而不僅僅是前導。 – user1803551

+0

@ user1803551不,它不會;注意正則表達式中的^ – fge

+1

@fge答案編輯 –

1

訣竅是刪除前導斜線,不是所有的斜槓。

public class StringTest { 

    public static void main(String[] args) { 
     String url = "////abc//def"; 
     System.out.println(url.replaceFirst("/+", "")); 
    } 

} 
+0

這將只在有兩個或多個斜槓時才起作用 – fge

+0

@fge:固定代碼。 –

相關問題