2009년 6월 28일 일요일

String

//charAt(int index) 
  //Returns the char value at the specified index.
  //문자열의 index번호의 character를 가져와라. return type : character
  String str = "baseball";
  for(int i = 0; i<str.length();i++){
   char c = str.charAt(i);
   System.out.println(c);
  }
  //c >= '0' && c <= '9' 0부터 9사이 비교,
  //문자와 문자 비교는 유니코드로 비교하는것이다.
 
  //concat(String str) 
   //Concatenates the specified string to the end of this string.
  //문자연결 return type : String
  str = str.concat(" good");
  //str.concat(" good"); 할당을 안해서 str를 찍으면 baseball만 나온다.
  System.out.println(str);
 
  //endsWith(String suffix)
   //Tests if this string ends with the specified suffix.
  //특정 문자열로 종료되는지 확인하는 메서드  return type : boolean
  str = "test.zip";
  if(str.endsWith("zip")){
   System.out.println("압축파일 입니다.");
  }else{
   System.out.println("압축파일이 아닙니다.");
  }
 
  //startsWith(String prefix)
   //Tests if this string starts with the specified prefix.
  //endsWith <=> startsWith
  //특정문자열로 시작하는지 확인하는 메서드 return type : boolean
 
  // equals(Object anObject)
  //Compares this string to the specified object.
 //비교 return type : boolean
 
   //equalsIgnoreCase(String anotherString)
   //Compares this String to another String, ignoring case considerations.
  //대소문자 무시하고 문자열 비교. id를 대문자로 썼을때 오류 방지 return type : boolean
  str = "kim0735";
  System.out.println(str.equalsIgnoreCase("KIM0735"));
   
  //getBytes() 많이 씀
   //Encodes this String into a sequence of bytes using the platform's default charset,
  //storing the result into a new byte array. return type : byte[]
  //문자열을 바이트배열로 반환하는 메서드
  str = "김혜민";
  byte[] b = str.getBytes();
  System.out.println("String의 길이 : " + str.length());
  System.out.println("바이트 길이 : "+ b.length);
 
  //indexOf(int ch) 많이 씀
  //Returns the index within this string of the first occurrence of the specified character.
  //특정문자의 위치를 index로 반환 한문자열에 여러같은 문자라면 처음것 한개만 return. return type : int
  str= "
whily312@naver.com";
  System.out.println(str.indexOf(
'@'));
 
  //length() 
   //Returns the length of this string. return type : int
  //문자열의 길이 제공
 
  //substring(int beginIndex, int endIndex)
   //Returns a new string that is a substring of this string. return type : String
  //str= "
whily312@naver.com";의 아이디만 뽑기
  System.out.println(str.substring(0,8));
  //아이디의 문자열의 길이 다양해도 처음부터 @ 전까 뽑을수 있다.
  str = "
dsjakfdjskalf@naver.com";
  System.out.println(str.substring(0,str.indexOf(
'@')));
  //사이트만 가져오기
  System.out.println(str.substring(str.indexOf(
'@')+1,str.indexOf('.')));
  //.이하로 다 가져오기 끝을 지정해주지 않으면 마지막까지 모두 가져온다.
  System.out.println(str.substring(str.indexOf('.')+1));
   
  //toLowerCase() 
  //Converts all of the characters in this String to lower case using the rules of the default locale.
  //소문자로 만들기
  System.out.println(str.toLowerCase());
 
  //toUpperCase() 
  //Converts all of the characters in this String to upper case using the rules of the default locale.
  //대문자로 만들기
  System.out.println(str.toUpperCase());
 
  //replace(char oldChar, char newChar)
  //Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
  //원조 replace, "abcd".replace(a,b) a문자를 b문자로 바꿔주겠다. 문자밖에 안된다.
 
  //replace(CharSequence target, CharSequence replacement)
  // Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence.
  // 1.5 추가기능 replace(문자 혹은 문자열,문자 혹은 문자열);
 
  //replaceAll(String regex, String replacement) 
   //Replaces each substring of this string that matches the given regular expression with the given replacement.
  //1.4추가기능 문자열로 바꿔준다. "ab#bc#de#".replaceAll("#","@@") #을 @@로 바꿀수 있다.
  //db에 저장될때 엔터가 \r\n으로 저장되는데 이것을 html로 꺼낼때"abc\r\nefg".replaceAll("\r\n","<br>")
  //"ab1bc12df123vd12345"문자 숫자 조합에서 숫자를 모두 @로 바꾸고 싶을때 가능하다.
  //"ab1bc12df123vd12345".replaceAll("[0-9]","@"); 정규식 표현이 가능하다.
  str = "abc##def##ghi##";
  //문자열 대체메서드
  System.out.println(str.replace("##","@@")); //1.5
  System.out.println(str.replaceAll("##","@@")); //1.4
 
  //toString()
   //This object (which is already a string!) is itself returned.
  //매개변수 출력할수있도록 오버로딩한것.
 
  //trim() 
   //Returns a copy of the string, with leading and trailing whitespace omitted.
  //문자열의 앞뒤의 공백만 제거할수 있다.
  str = "whily312  ";
  System.out.println(str.equals("whily312"));
  System.out.println(str.trim().equals("whily312"));
 
  //valueOf()
  //primitive 를 문자열로 바꾸려고할때
  int a = 123456789;
  System.out.println(String.valueOf(a));


   //split(String regex)  
   //Splits this string around matches of the given regular expression. returntype = String[]
  //문자 쪼개기
  str = "abc##def##ghi##";
  String[] sarray = str.split("##");
  for(int i = 0 ; i < sarray.length ; i++){
   System.out.print(sarray[i] + "  ");
  }
  str = "abc23def552gh5735";
  String[] sarray = str.split("
\\d+"); //\\d+ 와 [0-9] 0부터 9까지가1개이상 있을때

 //String[] sarray = str.split("[a-zA-Z]"); //영어 제외하고 숫자만 표시할때 한글은 안됨
  for(int i = 0 ; i < sarray.length ; i++){
   System.out.print(sarray[i] + "  ");
  } 

댓글 없음:

댓글 쓰기