문자열의 첫 번째와 마지막 문자를 제거하는 방법은 무엇입니까?
SOAP 메시지에서 Webservice에서 LoginToken을 얻고 LoginToken을 String에 저장하고 System.out.println(LoginToken);
인쇄 하는 데 사용 했습니다. 이렇게하면 [wdsd34svdf]가 출력되지만 wdsd34svdf 만 원하므로 대괄호를 제거하는 방법은 무엇입니까? 누구든지 도와주세요.
감사
예:
String LoginToken=getName().toString();
System.out.println("LoginToken" + LoginToken);
출력 : [wdsd34svdf] wdsd34svdf를 원합니다.
쉽습니다. [및]의 색인을 찾은 다음 하위 문자열을 찾아야합니다. (여기서 [은 항상 시작에 있고]는 끝에 있습니다),
String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
이것은 일반적인 솔루션입니다.
str.replaceAll("^.|.$", "")
항상 다음을 사용할 수 있습니다 substring
.
String loginToken = getName().toString();
loginToken = loginToken.substring(1, loginToken.length() - 1);
이 문제에 대한 또 다른 해결책은 commons-lang (버전 2.0 이후) StringUtils.substringBetween(String str, String open, String close)
방법을 사용하는 것입니다. 주요 장점은 null 안전 작동이라는 것입니다.
StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf
비슷한 시나리오가 있었는데
str.replaceAll("\[|\]", "");
깨끗해 보였다. 물론 토큰에 대괄호가있을 수 있다면 작동하지 않습니다.
이렇게하면 1 개의 선행 "["및 1 개의 후행 "]"문자를 제거 할 수 있습니다. 문자열이 "["로 시작하지 않거나 "]"로 끝나지 않으면 아무것도 제거되지 않습니다.
str.replaceAll("^\\[|\\]$", "")
StringUtils
의 removeStart
및 removeEnd
메서드는 문자열의 시작과 끝에서 문자열을 제거하는 데 도움이됩니다.
이 경우이 두 가지 방법의 조합을 사용할 수도 있습니다.
String string = "[wdsd34svdf]";
System.out.println(StringUtils.removeStart(StringUtils.removeEnd(string, "]"), "["));
이것은 당신에게 기본적인 아이디어를 줄 것입니다
String str="";
String str1="";
Scanner S=new Scanner(System.in);
System.out.println("Enter the string");
str=S.nextLine();
int length=str.length();
for(int i=0;i<length;i++)
{
str1=str.substring(1, length-1);
}
System.out.println(str1);
참고 URL : https://stackoverflow.com/questions/8846173/how-to-remove-first-and-last-character-of-a-string
'Program Tip' 카테고리의 다른 글
Firebase android에서 모든 하위 목록을 얻는 방법 (0) | 2020.11.19 |
---|---|
두 개의 JSON 객체 연결 (0) | 2020.11.19 |
Directory.GetFiles : 전체 경로가 아닌 파일 이름 만 가져 오는 방법은 무엇입니까? (0) | 2020.11.19 |
특정 Dockerfile을 빌드 할 수 없음 (0) | 2020.11.19 |
Node.js와 Twisted의 사용 사례는 무엇입니까? (0) | 2020.11.18 |