我想从输入字符串中提取字符串,并从开头和结尾(如果存在)中删除"/".
例如 :
输入字符串:/abcd
输出字符串:abcd
输入字符串:/abcd/
输出字符串:abcd
输入字符串:abcd/
输出字符串:abcd
输入字符串:abcd
输出字符串:abcd
输入字符串://abcd/
输出字符串:/abcd
public static void main(String[] args) {
String abcd1 = "/abcd/";
String abcd2 = "/abcd";
String abcd3 = "abcd/";
String abcd4 = "abcd";
System.out.println(abcd1.replaceAll("(^/)?(/$)?", ""));
System.out.println(abcd2.replaceAll("(^/)?(/$)?", ""));
System.out.println(abcd3.replaceAll("(^/)?(/$)?", ""));
System.out.println(abcd4.replaceAll("(^/)?(/$)?", ""));
}
Run Code Online (Sandbox Code Playgroud)
将工作.
匹配第一个(^/)?意味着在字符串的开头匹配0或1'/',并且(/$)?意味着在字符串的末尾匹配0或1'/'.
使正则表达式"(^/*)?(/*$)?"支持匹配多个'/':
String abcd5 = "//abcd///";
System.out.println(abcd1.replaceAll("(^/*)?(/*$)?", ""));
Run Code Online (Sandbox Code Playgroud)