以干净的方式从字符串中删除单个出现的前导和尾随引号

时间:2015-08-18 14:37:24

标签: java string

我从这个问题中找到了一些帮助:How can I trim beginning and ending double quotes from a string?

CharMatcher.is('\"').trimFrom(mystring);

我正在寻找不使用正则表达式的解决方案。

然而,我使用这种方法遇到的问题是它会修剪所有出现的引号。例如,如果mystring以两个尾随引号结尾,那么它将删除两者。我想只删除单个字符,而不是两个。

2 个答案:

答案 0 :(得分:0)

查看此代码:

    String x = "\"  blabla \"\"";
    int firstOccurence = x.indexOf('"');
    int secondOccurence = x.lastIndexOf('"');
    if(firstOccurence != secondOccurence){
        x = x.substring(firstOccurence + 1, secondOccurence);
    }
    System.out.println(x);

它返回:

  blabla "

答案 1 :(得分:0)

尝试使用此代码删除第一个和最后一个“:

public String method(String str) {
//Remove the last "
if (str.length() > 0 && str.charAt(str.length()-1)=='\"') {
  str = str.substring(0, str.length()-1);
}
//Remove the first "
if (str.length() > 0 && str.charAt(0)=='\"') {
  str = str.substring(0, str.length()-1);
}
return str;}