Bal*_*usC 230
您可以使用此String#replaceAll()
模式^\"|\"$
.
例如
string = string.replaceAll("^\"|\"$", "");
Run Code Online (Sandbox Code Playgroud)
要了解有关正则表达式的更多信息,请访问http://regular-expression.info.
也就是说,这有点像你试图发明一个CSV解析器.如果是这样,我建议四处寻找现有的库,比如OpenCSV.
Mic*_*ers 28
要从字符串中删除第一个字符和最后一个字符,请使用:
myString = myString.substring(1, myString.length()-1);
Run Code Online (Sandbox Code Playgroud)
Yan*_*evi 12
这是我找到的最好的方法,从字符串的开头和结尾删除双引号.
someString.replace (/(^")|("$)/g, '')
Run Code Online (Sandbox Code Playgroud)
leg*_*ass 11
使用Guava,您可以更优雅地书写 CharMatcher.is('\"').trimFrom(mystring);
brc*_*low 10
首先,我们检查String是否加倍引用,如果是,则删除它们.您可以跳过条件,但实际上您知道它是双引号.
if (string.length() >= 2 && string.charAt(0) == '"' && string.charAt(string.length() - 1) == '"')
{
string = string.substring(1, string.length() - 1);
}
Run Code Online (Sandbox Code Playgroud)
rat*_*ath 10
还有Apache StringUtils.strip()
:
StringUtils.strip(null, *) = null
StringUtils.strip("", *) = ""
StringUtils.strip("abc", null) = "abc"
StringUtils.strip(" abc", null) = "abc"
StringUtils.strip("abc ", null) = "abc"
StringUtils.strip(" abc ", null) = "abc"
StringUtils.strip(" abcyx", "xyz") = " abc"
Run Code Online (Sandbox Code Playgroud)
所以,
final String SchrodingersQuotedString = "may or may not be quoted";
StringUtils.strip(SchrodingersQuotedString, "\""); //quoted no more
Run Code Online (Sandbox Code Playgroud)
此方法适用于带引号和未带引号的字符串,如我的示例所示.唯一的缺点是,它不会寻找严格匹配的引号,只有前导和尾随引号字符(即没有区分"partially
和"fully"
引用字符串).
我正在使用这样简单的东西:
if(str.startsWith("\"") && str.endsWith("\""))
{
str = str.substring(1, str.length()-1);
}
Run Code Online (Sandbox Code Playgroud)
在Kotlin中,您可以使用String.removeSurrounding(delimiter:CharSequence)
例如
string.removeSurrounding("\"")
Run Code Online (Sandbox Code Playgroud)
当且仅当它以delimiter开头和结束时,才从此字符串的开头和结尾删除给定的定界符字符串。否则,返回此字符串不变。
源代码如下所示:
public fun String.removeSurrounding(delimiter: CharSequence): String = removeSurrounding(delimiter, delimiter)
public fun String.removeSurrounding(prefix: CharSequence, suffix: CharSequence): String {
if ((length >= prefix.length + suffix.length) && startsWith(prefix) && endsWith(suffix)) {
return substring(prefix.length, length - suffix.length)
}
return this
}
Run Code Online (Sandbox Code Playgroud)