에 문자열에서 특정 값을 검색하는 방법 :내가 값을 포함하는 문자열 필드가 어떻게 자바
이String a = "Local/[email protected],1";
지금 내 필요에 따라 경찰 내가 위의 문자열 필드에서 추출한 값 '5028'을 필요로합니다.
에 문자열에서 특정 값을 검색하는 방법 :내가 값을 포함하는 문자열 필드가 어떻게 자바
이String a = "Local/[email protected],1";
지금 내 필요에 따라 경찰 내가 위의 문자열 필드에서 추출한 값 '5028'을 필요로합니다.
이 각 /
및@
에 문자열을 분할합니다.
String a = "Local/[email protected],1";
System.out.println(a.split("[/@]")[1]);
형식이 일치하는 경우 부분 문자열 방법을 사용하거나 /와 @를 사용하여 문자열을 분할 한 다음 토큰 배열에서 두 번째 값을 가져올 수 있습니다.
값을 검색하려면 String#substring
함수를 사용하십시오. 시작과 끝 인덱스를 매개 변수로 전달해야합니다. 이 캐릭터 라인이 지정된 형식에 항상있는 경우
String a = "Local/[email protected],1";
System.out.println(a.substring(a.indexOf('/')+1, a.indexOf('@')));
-1은 매직 넘버를 허용하고 실제로는 일반적인 해결책이 아닙니다. 또한 오류가 발생하기 쉬운 솔루션입니다. – sakthisundar
@sakthisundar - 코드가 업데이트되었습니다. –
당신이 시도 할 수 있습니다 :
String temp=a.split("@")[0];
System.out.println(temp.substring(temp.length()-4,temp.length()));
사용 REGEX :
String a = "Local/[email protected],1";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(a);
System.out.println(m.find() + " " + m.group());
이 사항 String.split 사용 : 당신의 문자열 형식이 고정되어있는 경우가
String a = "Local/[email protected],1";
String[] split = a.split("/");
System.out.println(split[1].split("@")[0]);
, 당신은 사용할 수 있습니다
String a = "Local/[email protected],1";
a = a.substring(a.indexOf('/') + 1, a.indexOf('@'));
System.out.println(a);
Sir i have more case String a = "Local/5028-from-queue-bd7f, 1"; PLZ 코드가 – Amit
에서이 조건을 결합하는 방법을 알려주십시오. 문자열이 일종의 고정 된 경우 다시 시도하십시오.'a.substring (a.indexOf ('/') + 1, a.indexOf ("from") - 둘 다 처리한다. –
아무 것도 해보지 않으셨습니까? 예를 들어 RegExp? –
값은 항상 같은 위치에서 시작합니까, 아니면 항상'/'과'@'사이에 있습니까? 아니면 완전히 다른 규칙입니까? –
선생님, 문자열 값 나누기로 시도했습니다 – Amit