나는 String s = 'muniganesh'
을 가지고 있고, s.subString(1, 2)
의 값을 프린트 할 경우, 결과는 'u'
입니다. 왜냐하면 자바 문자열에서 인덱스는 0부터 시작하기 때문입니다.하지만 시작하려면 문자열을 변경해야합니다. 인덱스 위치 1. 어떻게 가능합니까?문자열 인덱스를 만드는 방법 1
답변
당신은 모두 #substring (시작, 끝)는 0 기반 인덱스 (또는 당신이 그렇게 원하는 경우 인덱스를 하나의 기반) 등의 인수를 처리하기 위해 자신의 유틸리티 메소드를 작성할 수 있지만, @irrelephant 말했듯이 아니다 Java가 이러한 특수한 경우를 처리하는 방법에 익숙해 져야합니다. 첫 번째 인수는 (제로 기반)이고 두 번째 인수는 (하나는)입니다. String#substring
이 유일한 예가 아니며 StringBuilder#delete
도 있으며 더 있어야합니다.
가능한 동기는 단순히 추가적인 증가없이 개시 위치 길이를 추가하여 단부 위치를 산출 할 수있다. 예컨대 :
String source = "In Java world, end position index may be one-based";
int indexOfP = source.indexOf('p');
String result = source.substring(indexOfP, indexOfP + 8);
System.out.println(result); // prints 'position'
그것은하지 최고의 예, 그리고 진정한 동기는 다를 수 있습니다,하지만이 특질에 대해 기억하는 방법이있다.
끝 색인은 1부터 시작하지 않습니다. 예를 들어, 0은 합법적 인 최종 인덱스이며, 1부터 시작하는 인덱스는 아닙니다. 두 인덱스는 모두 0부터 시작하지만 끝 인덱스는 * exclusive *이지만 시작 인덱스는 포함됩니다. – Boann
문자열 하나 이상을 확인 인덱스는 0부터 시작
myString = myString.substring(1); // will give "uniganesh"
자바 배열이나 문자열 (대부분의 다른 언어의 배열)을 시도하고 단순히 1에서 첫 번째 인덱스 또는 사용 인덱스를 사용하지 않는 string.length에 추가하고 실제로 문자열에 색인을 지정할 때 하나를 빼면됩니다.
당신은 정말 당신이 방법을 쓸 수하려면 :
public static String substring(String str, int beginIndex, int endIndex) {
return str.substring(beginIndex - 1, endIndex - 1);
}
을하지만 s.substring()
하고 자신의 substring()
을 혼합 한 오류로 하차 할 수 있기 때문에 내가보기 엔 당신이하지 않는 것이 좋습니다. Java에서 문자열을 처리하는 방식에 익숙해지면 s.substring()
을 사용하십시오. 다른 많은 인기있는 언어는 Java와 같이 문자열 색인을 0에서 시작합니다.
잘못된 부분은'endIndex - 1'입니다. 이 값은 1부터 시작하는 인덱스이며, beginIndex는 0부터 시작하는 인덱스입니다. –
여기서 마지막 두 문장이 중요합니다 (예제는 아마도 폐기 될 수 있습니다). ** 자바가 문자열을 처리하는 방식에 익숙해지고's.substring()'을 사용하십시오. 다른 많은 인기있는 언어는 Java와 같이 0에서 문자열 인덱스를 시작합니다. ** –
@LuiggiMendoza 잘못하지 않았습니다. 두 인덱스는 모두 0부터 시작하므로 0이 최종 인덱스의 올바른 값입니다. 그러나 종료 색인은 배타적이지만 시작 색인은 포괄적입니다. – Boann
Java 문자열 인덱스는 o 및 d에서 끝나며 최대 문자열 길이는 -1입니다.
String s = "muniganesh";
s = s.substring(1,2);// output u
System.out.println(""+ s.substring(1)); //output String s = "muniganesh";
- 1. EDMX에서 인덱스를 만드는 방법
- 2. sql에서 문자열 열의 인덱스를 만드는 방법은 무엇입니까?
- 3. Mysql : 테이블에서 인덱스를 만드는 방법
- 4. 팬더에서 datetime 인덱스를 만드는 방법
- 5. 인덱스를 최상위로 1 개만 갖는 배열을 만드는 방법은 무엇입니까?
- 6. neo4j에서 사실 뒤에 복합 인덱스를 만드는 방법
- 7. 테이블 변수의 열에 인덱스를 만드는 방법
- 8. 문자열 배열에서 문자열의 인덱스를 얻는 것은
- 9. 문자열 배열에서 InputStream을 만드는 방법
- 10. PHP 문자열 키가 정의되지 않은 인덱스를 제공
- 11. 오라클을 사용하여 테이블에 반전 된 인덱스를 만드는 방법
- 12. SQL에서 인덱스를 활용하는 방법
- 13. AS3 : 하위 인덱스를 1 씩 증가
- 14. MySQL의 DATETIME 필드의 날짜 부분에 인덱스를 만드는 방법
- 15. 여러 열 범위 쿼리에 대해 복합 인덱스를 만드는 방법
- 16. SQL Server 2008에서 1 : 1 (또는 0) 관계를 만드는 방법
- 17. 1 대 1 연결을 만드는 방법 .build 사용
- 18. 웹 응용 프로그램을위한 MongoDB 컬렉션의 인덱스를 만드는 방법/장소
- 19. 배열의 인덱스를 기반으로 배열의 데이터로 문자열 바꾸기
- 20. C에서 1 차원 동적 배열을 만드는 방법 #?
- 21. 컬렉션 (1 : n) 관계를 만드는 방법
- 22. 1 SQL의 합과 테이블에 행을 만드는 방법
- 23. 세트 "1"로 카운터를 만드는 방법
- 24. 행 인덱스를 얻는 방법
- 25. ISO-8859-1 문자열
- 26. Raven DB : "UniqueVisitorCount by date"인덱스를 만드는 방법
- 27. 인덱스를 알고있는 경우 목록에서 문자열 검색
- 28. 개체 인덱스를 얻는 방법?
- 29. mongodb에서 인덱스를 관리하는 방법
- 30. 문자열 변수에서 const 문자열을 만드는 방법
int startIndex가 [1..s.length()] 안에 있다고 가정하면's.substring (startIndex-1, finish)'을 할 수 있습니다. 또한, String # subString의 끝에있는이 'int finish'는 1- 인덱스가됩니다. –
나는 당신의 제안을 이미했습니다. 하지만 내 시나리오에 대한 해결책을 알아야합니다. – MGPJ
입력 내용과 예상 출력을 보여주는 질문을 편집하여 요구 사항을보다 잘 이해하십시오. 1 개 이상의 입력/출력 샘플을 게시하는 것이 좋습니다. –