목차
이번 포스트는 문자열 (String) 관련 함수들 중에 중요 함수에 대해 알아보도록 하겠습니다. 함수를 코드로 돌리고 확인은 Arduino에서 제공하는 시리얼 모니터로 하겠습니다. 시리얼(Serial) 통신 사용 방법 및 모니터링 방법은 아래 링크를 참조하시면 됩니다. (https://scribblinganything.tistory.com/512)
Arduino 문자열 compareTo 함수
compareTo 함수는 문자열(String)을 비교해서 동일한 경우 0을 return하고 다른 경우 ASCII 코드 차이 만큼을 return 합니다.
예제 코드>>
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
String string_var = "hello";
Serial.println(string_var.compareTo("hello"));
Serial.println(string_var.compareTo("bye"));
}
10~12번 라인: hello 를 hello, bye와 비교 합니다.
결과>>
동일 문자에 대해서는 0을 return하였고 다른 문자는 6을 return 하였습니다.
Arduino 문자열 equals, equalsIgnoreCase 함수
이번에는 equals, equalsIgnoreCase로 문자를 비교하는 함수 입니다. 둘이 차이는 후자는 대문자 소문자 구분을 하지 않는 점입니다. 그리고 문자가 일치하면 1을 return하고 일치하지 않으면 0을 return 합니다.
예제 코드>>
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
String string_var = "hello";
Serial.println("equals('hello'): " + String(string_var.equals("hello")));
Serial.println("equals('HELLO'): " + String(string_var.equals("HELLO")));
Serial.println("equalsIgnoreCase('HELLO'): " + String(string_var.equalsIgnoreCase("HELLO")));
}
결과>>
Arduino 문자열 length 함수
문자열의 길이를 확인하는 length 함수 입니다.
예제 코드>>
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
String string_var = "hello";
Serial.println("length('hello'): " + String(string_var.length()));
}
결과>>
hello 는 총 5개의 letter로 구성됩니다.
Arduino 문자열 replace 함수
replace 문장이 의미하듯이 두개의 인자 값을 받아서 첫번째 인자와 같은 문자를 두번째 인자로 바꿔 줍니다.
예제 코드>>
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
String string_var = "hello";
string_var.replace("llo", "lp me");
Serial.println(string_var);
}
11번 라인: replace는 별도의 라인에서 한번 처리해서 string_var 변수 값이 변화한다. 만일 아래와 같이 한줄에 print와 같이 진행하면 아래와 같은 에러 메세지가 발생하니 주의 하자
에러코드>>
C:\Users\forgo\Documents\Arduino\sketch_apr27a\sketch_apr27a.ino: In function 'void loop()':
sketch_apr27a:11:59: error: invalid use of void expression
Serial.println(String(string_var.replace("llo", "lp me")));
^
exit status 1
invalid use of void expression
결과>>
'아두이노 Arduino' 카테고리의 다른 글
[아두이노]시리얼 통신: 컴퓨터에서 보드로 메세지 주고 받기(Send, Recieve, Serial) (0) | 2022.05.03 |
---|---|
[아두이노] String함수: toInt, toFloat, toUpperCase, toLowerCase (0) | 2022.05.02 |
[아두이노] 문자열, 정수, 실수 크기 비교 하기 (Comparison) (0) | 2022.04.28 |
[아두이노] 시리얼 통신 기본 : 문자열(String) 보내기 (0) | 2022.04.27 |
HC-06 블루투스 아두이노에 연결해보기 (AT명령어, 안드로이드폰에 연결하기) (7) | 2021.03.23 |