Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除字符串中的前导和尾随括号_Java_String_Substring - Fatal编程技术网

Java 删除字符串中的前导和尾随括号

Java 删除字符串中的前导和尾随括号,java,string,substring,Java,String,Substring,在Java中,我想去掉字符串中的前括号和后括号。 给定输入: "[ hello, char[]={a,b,c} ... bye ]" 我怎样才能生产产品 " hello, char[]={a,b,c} ... bye " hello, char[]={a,b,c} ... bye 只有前导的[和尾随的]被删除。。。我如何在Java中做到这一点 String a = "[ hello, char[]={a,b,c} ... bye ] "; a.substring(1,23); Syst

在Java中,我想去掉字符串中的前括号和后括号。
给定输入:

"[ hello, char[]={a,b,c} ... bye ]"
我怎样才能生产产品

" hello, char[]={a,b,c} ... bye "
 hello, char[]={a,b,c} ... bye 
只有前导的
[
和尾随的
]
被删除。。。我如何在Java中做到这一点

String a = "[ hello, char[]={a,b,c} ... bye ] ";
a.substring(1,23);
System.out.println(a);
好了,我错过了阅读。

看看方法:

打印:

事实上

子字符串(startIndex、endIndex)的过载

input.substring(input.indexOf(“[”)+1,input.lastIndexOf(“])

此外,如果要删除开头和结尾的空格,请使用trim()

如果有前导和/或尾随空格:

String s = "   [ hello, char[]={a,b,c} ... bye ] ";
s = s.trim().replaceAll("^\\[|\\]$", "");

这取代了内括号,而内括号并不是我们想要的。因为他似乎知道字符串的确切长度,所以他可以说从1到23,然后用这样的子字符串。是的,但是……原则上,人们永远不知道字符串的长度。最好使用您知道的内容(字符串前面的位置),然后让Java报告其余内容(字符串末尾的位置)。非常有用,请您解释一下为什么使用两个转义字符(/)?@SashiKant,java只有在字符前面加两个\\时才能识别转义模式如果您确定它总是用括号括起来,这是非常简单的
 hello, char[]={a,b,c} ... bye 
public class Test{
   public static void main(String[] args){
       String test = "[ abc ]";
       System.out.println(test.substring(1,test.length()-1));
       // Outputs " abc "
   }
}
String s = "[ hello, char[]={a,b,c} ... bye ]";
s = s.replaceAll("^\\[|\\]$", "");
String s = "   [ hello, char[]={a,b,c} ... bye ] ";
s = s.trim().replaceAll("^\\[|\\]$", "");