[java] 문자열에서 큰 따옴표를 시작하고 끝내는 방법은 무엇입니까?

문자열에서 시작과 끝 큰 따옴표 ( “)를 자르고 싶습니다.
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);
}