【发布时间】:2012-01-28 03:34:05
【问题描述】:
在 Java 中,我想去掉字符串中的前括号和尾括号。
给定输入:
"[ hello, char[]={a,b,c} ... bye ]"
我怎样才能产生输出
" hello, char[]={a,b,c} ... bye "
只有前导 [ 和尾随 ] 被删除...我如何在 Java 中做到这一点?
【问题讨论】:
在 Java 中,我想去掉字符串中的前括号和尾括号。
给定输入:
"[ hello, char[]={a,b,c} ... bye ]"
我怎样才能产生输出
" hello, char[]={a,b,c} ... bye "
只有前导 [ 和尾随 ] 被删除...我如何在 Java 中做到这一点?
【问题讨论】:
看看String.substring()方法:
System.out.println(input.substring(1, input.length() - 1))
【讨论】:
String s = "[ hello, char[]={a,b,c} ... bye ]";
s = s.replaceAll("^\\[|\\]$", "");
如果有前导和/或尾随空格:
String s = " [ hello, char[]={a,b,c} ... bye ] ";
s = s.trim().replaceAll("^\\[|\\]$", "");
【讨论】:
事实上,
这个子字符串的重载(startIndex, endIndex);
input.substring(input.indexOf("[")+1,input.lastIndexOf("]"));
如果要删除开头和结尾的空格,请使用 trim();
【讨论】:
public class Test{
public static void main(String[] args){
String test = "[ abc ]";
System.out.println(test.substring(1,test.length()-1));
// Outputs " abc "
}
}
【讨论】:
String i = "[ hello, char[]={a,b,c} ... bye ]";
int indexOfOpenBracket = i.indexOf("[");
int indexOfLastBracket = i.lastIndexOf("]");
System.out.println(i.substring(indexOfOpenBracket+1, indexOfLastBracket));
打印:
hello, char[]={a,b,c} ... bye
【讨论】:
String a = "[ hello, char[]={a,b,c} ... bye ] ";
a.substring(1,23);
System.out.println(a);
你去吧,我错过了阅读。
【讨论】: