내가 문자열에서 시작과 끝 따옴표 (")를 손질하고 싶습니다.
가 어떻게 감사합니다!? 자바로 그 달성 각 따옴표의문자열에서 시작 및 끝 큰 따옴표를 어떻게 다듬을 수 있습니까?
답변
이에 대한 ^\"|\"$
의 패턴 String#replaceAll()
를 사용할 수 있습니다.
예
string = string.replaceAll("^\"|\"$", "");
을 가열 공기 조절기에 대한 자세한 내용은 lar 표현은 http://regular-expression.info에 있습니다.
즉, 이것은 당신이 CSV 파서를 발명하려고하는 것처럼 약간 냄새가 난다고합니다. 그렇다면 OpenCSV과 같은 기존 라이브러리를 둘러 보시기 바랍니다.
두 따옴표의 모든 발생을 첫 번째 및 마지막이 아닌 빈 문자열로 바꿀 것이라고 생각하지 않습니까? – GuruKulki
저는 CSV 파서를 만들지 않습니다. 난 tinyfbclient를 사용하여 페이스 북 응용 프로그램을 구축하고있어 나에게 꼬리말과 꼬리말을 붙이는 사용자의 uid를 제공한다. – ufk
@ufk : 이것은 복잡한 정규 표현식이 아닙니다. 그렇지 않으면'String # indexOf()','String # substring()', 메소드 등을 번거롭게 할 수 있습니다. 조금 더 빨라졌지만 훨씬 더 많은 코드입니다. @ GK : 어, 당신은 정규식을 읽고 이해 했습니까? 아니면 그것을 테스트 했습니까? – BalusC
찾기 인덱스와 거기에 빈 문자열을 삽입 할 수 있습니다.
그러나 중간에 따옴표를주의하십시오 ... –
그래서 첫 번째 인덱스와 두 번째 qoute의 마지막 인덱스 여야합니다. – GuruKulki
것은, 큰 따옴표는 시작과 끝 부분에 존재하는 경우 좀 더 우아하게 CharMatcher.is('\"').trimFrom(mystring);
하나의 문자 만 다듬을 수 있습니까? 예를 들어, 문자열이 두 개의 작은 따옴표로 끝나는 경우에도 여전히 작은 따옴표 만 다듬기를 원합니다. –
을 작성할 수 있습니다 구아바를 사용하여 이 완벽하게 작동하는 것처럼 간단한 코드 :
string = string.replace("\"", "");
Matcher m = Pattern.compile("^\"(.*)\"$").matcher(value);
String strUnquoted = value;
if (m.find()) {
strUnquoted = m.group(1);
}
private static String removeQuotesFromStartAndEndOfString(String inputStr) {
String result = inputStr;
int firstQuote = inputStr.indexOf('\"');
int lastQuote = result.lastIndexOf('\"');
int strLength = inputStr.length();
if (firstQuote == 0 && lastQuote == strLength - 1) {
result = result.substring(1, strLength - 1);
}
return result;
}
먼저 문자열이 두 배로 인용되었는지 확인하고, 그렇다면이를 제거하십시오. 조건문을 건너 뛸 수 있습니다. 사실 큰 따옴표가 붙어있는 경우입니다. 또한 아파치 StringUtils.strip()
와
if (string.length() >= 2 && string.charAt(0) == '"' && string.charAt(string.length() - 1) == '"')
{
string = string.substring(1, string.length() - 1);
}
이것은 주문에 대한 가장 효과적인 대답이며, 따옴표가 선택적인지 아닌지에 대해 수행 할 작업을 지정합니다. – entonio
: 내 예와 같이
이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 result = input_str.replaceAll("^\"+|\"+$", "");
:
someString.replace (/(^")|("$)/g, '')
작은 따옴표도 포함 할 수 있습니다 (/ (^ \ "| \ ') | (\"| \'$)/g, ""); – bob
자바에서 문자열의 시작과 끝에서 하나 이상의 큰 따옴표를 제거하려면 정규식 기반 솔루션을 사용해야합니다 :
String result = input_str.replaceAll("^[\"']+|[\"']+$", "");
참고 : 당신의 문자열 내부 "
포함되어있는 경우,이 방법은 (문제가 발생할 수 있습니다 예를 들어,"Name": "John"
=>Name": "John
).
String input_str = "\"'some string'\"";
String result = input_str.replaceAll("^[\"']+|[\"']+$", "");
System.out.println(result); // => some string
s.stripPrefix("\"").stripSuffix("\"")
.
편집 : 죄송합니다, 스칼라는
- 1. 어떻게 단어를 다듬을 수 있습니까?
- 2. VB 문자열에서 큰 따옴표를 이스케이프 처리합니다.
- 3. 문자열에서 작은 따옴표와 큰 따옴표를 제거하는 방법
- 4. CATransition에서 시작 및 끝 위치를 어떻게 지정할 수 있습니까?
- 5. 어떻게 mp3 파일을 다듬을 수 있습니까?
- 6. 파티션의 시작 및 끝 섹터?
- 7. 큰 따옴표를 사용하여 문자열을 구분할 수 있습니까?
- 8. 테이블 행의 속성에서 큰 따옴표를 어떻게 렌더링 할 수 있습니까?
- 9. intellisense 오퍼링에서 VS2008 자리 큰 따옴표를 어떻게 만들 수 있습니까?
- 10. 자바 정규식이 시작/끝 따옴표를 제거하지만, 내부에서 탈퇴 인용
- 11. Java에서 작은 따옴표 및 큰 따옴표를 어떻게 인코딩 해제합니까?
- 12. 쉘에서 큰 따옴표로 묶은 문자열에서 역 따옴표를 이스케이프 처리합니다.
- 13. AntLR로 시작 및 끝 위치 얻기
- 14. 큰 파일을 어떻게 읽습니까?
- 15. 얻기 시작/끝
- 16. 문자열에서 어떻게 선택할 수 있습니까?
- 17. 문자열에서 작은 따옴표를 제거하는 NSString
- 18. 문자열에서 "/"를 "\ /"로 어떻게 바꿀 수 있습니까?
- 19. 큰 따옴표와 작은 따옴표를 올바르게 사용하고 있습니까?
- 20. substring-with-regex match의 결과를 어떻게 다듬을 수 있습니까?
- 21. 큰 따옴표를 제거하여 스크립트가 실행되도록
- 22. pydot로 시작, 끝 및 루프 찾기
- 23. JQuery datepicker-2 입력 시작 및 끝
- 24. piechart 슬라이스의 시작 및 끝 각도 계산
- 25. 자바 스크립트 선택 시작 및 선택 끝
- 26. 큰 따옴표 안에 큰 따옴표를 넣으십시오.
- 27. Asp.Net 끝 08. 대 Asp.Net에 큰 시작 날짜보다
- 28. PyGtk CellRendererProgress 시작/끝 위치
- 29. JavaScript에서 시작 날짜와 끝 날짜가 다른 시작 날짜와 끝 날짜가 겹치는 지 감지하는 방법은 무엇입니까?
- 30. SQL 준비 문에서 작은 따옴표와 큰 따옴표를 어떻게 이스케이프 처리합니까?
이미 따옴표가있는 것으로 알려진 문자열, 또는 문제의 인용 부분 확인되고 있습니까? –