문자열에서 시작과 끝 큰 따옴표 ( “)를 자르고 싶습니다.
Java로 어떻게 달성 할 수 있습니까? 감사합니다!
답변
이 String#replaceAll()
패턴으로 사용할 수 있습니다 ^\"|\"$
.
예 :
string = string.replaceAll("^\"|\"$", "");
정규식에 대한 자세한 내용은 http://regular-expression.info를 참조하십시오 .
즉, 이것은 CSV 파서를 발명하려는 것처럼 약간 냄새가납니다. 그렇다면 OpenCSV 와 같은 기존 라이브러리를 살펴 보는 것이 좋습니다 .
답변
문자열에서 첫 번째 문자와 마지막 문자를 제거하려면 다음을 사용하십시오.
myString = myString.substring(1, myString.length()-1);
답변
또한 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"
그래서,
final String SchrodingersQuotedString = "may or may not be quoted";
StringUtils.strip(SchrodingersQuotedString, "\""); //quoted no more
이 방법은 예제와 같이 따옴표와 따옴표가없는 문자열 모두에서 작동합니다. 유일한 단점은 엄격하게 일치하는 따옴표를 찾지 않고 선행 및 후행 따옴표 문자 만 찾습니다 (예 : 따옴표 문자열 "partially
과 "fully"
따옴표 문자열).
답변
큰 따옴표가 처음과 끝에 만 존재하면 간단한 코드가 완벽하게 작동합니다.
string = string.replace("\"", "");
답변
이것은 문자열의 처음과 끝에서 큰 따옴표를 제거하는 가장 좋은 방법입니다.
someString.replace (/(^")|("$)/g, '')
답변
구아바를 사용하면 더 우아하게 쓸 수 있습니다 CharMatcher.is('\"').trimFrom(mystring);
답변
먼저 문자열이 큰 따옴표로 묶여 있는지 확인하고, 그렇다면 문자열을 제거하십시오. 실제로 큰 따옴표로 묶인 경우 조건부를 건너 뛸 수 있습니다.
if (string.length() >= 2 && string.charAt(0) == '"' && string.charAt(string.length() - 1) == '"')
{
string = string.substring(1, string.length() - 1);
}