Aduino 아두이노 String 함수 3
관련링크
본문
String stringOne = "abcdefghijklmnopqrstuvwxyz" ;
String stringTwo ="abc";
String.charAt(index)
String 객체에 저장된 문자열 중 index 번째의 문자를 반환한다. 예제에서 3번째 문자를 요청했고, ‘d’라는 문자가 반환되었다. 문자 배열의 인덱스는 0번부터 시작하므로 index 값으로 3을 주면 실제로 4번째 문자가 반환된다는 것에 유의하자.
Serial.print("charAt(3) : "); Serial.println(stringOne.charAt(3)); // charAt(3) : d |
매개 변수
index : 읽어 올 문자의 자리. int 형. 반환 값
char 형 문자 : index 번째의 문자 반환
|
String[index]
[] 연산자를 사용해서 charAt() 함수와 같은 결과를 얻는다.
String.compareTo(string1)
String 객체에 저장된 문자열과 string1 문자 배열을 비교하는 함수이다. String과 string1 문자 배열이 같으면 0을 반환하며, 다를 경우 int 형 숫자를 반환한다.
Serial.print("stringTwo.compareTo(abc) : "); Serial.println(stringTwo.compareTo("abc")); // stringTwo.compareTo(abc) : 0 Serial.print("stringTwo.compareTo(def) : "); Serial.println(stringTwo.compareTo("def")); // stringTwo.compareTo(def) : -3
|
반환 값은 String과 string을 첫 문자부터 검사하여 두 문자가 다른 시점의 문자의 아스키 코드 차이 값을 의미한다. 즉, “abc”와 “def”를 비교했을 때 첫 문자 ‘a’와 ‘d’를 비교하여 ‘d’의 아스키 코드 값 100과 ‘a’의 아스키 코드 값 97의 차이인 -3을 반환한 것. 만일 String 객체에 “def”가 저장되어 있고 매개 변수로 “abc”를 전달했다면 +3이 반환된다.
매개 변수 string1 : String 객체와 비교할 문자 배열 또는 다른 String 객체.
반환 값 int 형 숫자 : String과 string1이 같을 경우 0을 반환. |
String.equals(string1)
compareTo() 함수와 마찬가지로 String 객체와 string1 문자 배열을 비교하는 함수지만, compareTo() 함수와 달리 0, 1 값만을 반환한다. 같으면 1(TRUE), 다르면 0(FALSE). 소문자 ‘a’와 대문자 ‘A’는 다른 아스키 코드 값을 가지므로 다른 문자로 판단되어 예제에서는 0을 반환한다.
Serial.print("stringTwo.equals(ABC) : "); Serial.println(stringTwo.equals("ABC")); // stringTwo.equals(ABC) : 0 Serial.print("stringTwo.equalsIgnoreCase(ABC) : "); Serial.println(stringTwo.equalsIgnoreCase("ABC")); // stringTwo.equalsIgnoreCase(ABC) : 1 |
매개 변수 string1 : String 객체와 비교할 문자 배열 또는 다른 String 객체.
반환 값 0 또는 1 : 두 문자열이 같으면 1, 다르면 0을 반환한다. |
String.equalsIgnoreCast(string1)
equals() 함수와 마찬가지로 String 객체와 string1 문자 배열을 비교하여 0 또는 1 값을 반환한다. 단, 대소문자를 구분하지 않아 ‘a’와 ‘A’를 같은 문자로 판단한다.
String.concat(string1)
+ 연산과 같은 기능을 한다. 아두이노 홈페이지의 함수 설명에는 매개 변수가 2개로 되어 있는데, 실제로는 하나만 사용해야 한다. 2개 쓰니까 에러나던데?
stringTwo.concat("def"); Serial.print("stringTwo.concat(def) : "); Serial.println(stringTwo); // stringTwo.concat(def) : abcdef |
매개 변수 string1 : String 문자열에 추가할 문자 배열 또는 다른 String 객체. |
Serial.print("stringOne.startWith(abc) : "); Serial.println(stringOne.startsWith("abc")); // stringOne.startsWith(abc) : 1 |
매개 변수
string1 : 문자 배열 또는 다른 String 객체.
반환 값
0 또는 1 : String 객체가 string1 문자열로 시작하면 1, 아니면 0을 반환. |
String.endsWith(sring1)
String 객체의 문자열이 string1 문자 배열로 끝나는지 검사한다.
Serial.print("stringOne.endsWith(abc) : "); Serial.println(stringOne.endsWith("abc")); // stringOne.endsWith(abc) : 0 |
매개 변수
string1 : 문자 배열 또는 다른 String 객체
반환 값
0 또는 1 : String 객체가 string1 문자열로 끝나면 1(TRUE), 아니면 0(FALSE)을 반환. |
String.length()
String 객체의 문자열 길이를 반환한다. ‘\0’ 문자는 길이에 포함시키지 않는다.
Serial.print("stringOne.length() : "); Serial.println(stringOne.length()); // stringOne.length() : 26 |
반환 값
int 형 숫자 : String 문자열의 길이. |
String.indexOf(string1)
String.indexOf(string1, from)
String 객체의 문자열에서 string1 문자열을 찾아서 첫 문자의 인덱스 값을 반환한다. String 문자열에서 string1 문자열을 찾기 시작할 인덱스를 지정할 수 있다. 예제에서는 ‘stringOne’ 객체에서 “def” 문자열을 0번째 문자(‘a’)부터 찾아, ‘d’의 인덱스 값인 3을 반환하고 있다. (인덱스는 0부터 시작하는 것에 유의.) 만일 string1 문자열을 찾지 못하면 -1을 반환한다.
Serial.print("stringOne.indexOf(def,0) : "); Serial.println(stringOne.indexOf("def",0)); // stringOne.indexOf(def,0) : 3 |
매개 변수 string1 : String 문자열에서 찾을 문자 배열 또는 다른 String 객체. from : string1 문자열을 찾기 시작할 String 문자열의 인덱스 값. from 값을 설정하지 않으면 String 문자열의 제일 처음부터 찾는다.
반환 값 int 형 숫자 : string1 문자열을 찾으면 첫 문자의 인덱스 값을 반환, 찾지 못하면 -1을 반환.
|
String.lastIndesOf(string1)
String.lastIndexOf(string1, from)
String 문자열에서 string1 문자열을 뒤에서부터 찾는다. from 값을 설정하면 해당 인덱스부터 찾는다. 예제에서 “opq” 문자열을 20번째 문자(‘u’)부터 앞으로 이동하며 찾는다. indexOf() 함수와 마찬가지로 찾지 못하면 -1을 반환한다.