我在Java中有一個字符串,它以斜線開頭,但斜槓的數量未知。如何在開始時刪除所有斜線?如何刪除字符串中的所有前導斜槓?
例如:
String a="//abc";
應該輸出abc
。
String b="////abc";
還應該輸出abc
。
我在Java中有一個字符串,它以斜線開頭,但斜槓的數量未知。如何在開始時刪除所有斜線?如何刪除字符串中的所有前導斜槓?
例如:
String a="//abc";
應該輸出abc
。
String b="////abc";
還應該輸出abc
。
您可以使用一個簡單的模式:
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("");
}
public static void main(String[] args) {
String slashString = "//ab/c";
System.out.println(slashString.replaceAll("^/+", ""));
}
輸出爲:
AB/C
訣竅是刪除前導斜線,不是所有的斜槓。
public class StringTest {
public static void main(String[] args) {
String url = "////abc//def";
System.out.println(url.replaceFirst("/+", ""));
}
}
這將只在有兩個或多個斜槓時才起作用 – fge
@fge:固定代碼。 –
你是怎麼嘗試的?顯示代碼 – erosb
閱讀String類中的replaceAll方法的javadoc – Ankit