반응형
반응형

파이썬(python)은 문자열을 자유롭게 사용할 수 있습니다.

문자열은 배열로 저장하기 때문에 사용하기 더욱더 편리합니다.

파이썬(python) 문자열을 사용하기 위해서는 큰따옴표( " )와 작은따옴표( ' )를 사용합니다.

a = "파이썬 문자열 시작합니다."
b = '파이썬 문자열 시작합니다.'

print(a)
print(b)

이번에는 지난 시간에 설치한 파이참을 사용해서 빌드하겠습니다.

a, b 변수에 문자열을 할당합니다.

출력은 print() 함수를 사용합니다.

출력 결과 동일한 내용 텍스트를 확인할 수 있습니다.

텍스트 선언 시 큰따옴표와 작은따옴표를 같이 사용할 없습니다.

시작한 문자열과 마지막 문자열이 동일해야 오류가 없습니다.

 

파이썬 이스케이프 코드 사용법

a = "이스케이프 코드 라인 피드 \n"
b = '이스케이프 코드 캐리지 리턴 \r'
c = '이스케이프 코드 탭 \t'
d = "이스케이프 코드 작은 따옴표 \'"
e = "이스케이프 코드 큰 따옴표 \""
f = "이스케이프 코드 백슬래시 \\"

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

파이썬도 다른 언어와 동일하게 문자열 사용 시 이스케이프 코드를 사용해서 특수 문자열을 추가할 수 있습니다.

이스케이프 코드는 라인피드, 캐리지 리턴, 탭, 작은따옴표, 큰 따옴표, 백 슬래시 등을 사용할 수 있습니다.

 

파이썬 문자열 배열 사용법

파이썬은 문자열을 선언하면 배열형태로 저장되어 인덱싱에 따른 위치 정보를 바로 확인할 수 있습니다.

a = "문자열 배열"
b = "python string array"

print(a[0])
print(a[4])

print(b[0])
print(b[5])

영문과 한글 모두 배열로 저장되며, 좋은 점은 유니코드 상관없이 자동으로 문자열을 변형되어 사용이 가능합니다.

한글 2byte, 영문 1byte 구분 없이 배열에 순서대로 저장되기 때문에 초보자가 사용하기 매우 편리합니다.

설정한 인덱스에 따른 위치 문자가 출력됩니다.

배열 크기 보다 클 경우는 오류가 발생합니다.

인덱스는 배열이기 때문에 0부터 시작합니다.

 

파이썬 문자열 연산자 사용법

파이썬은 + 연산자를 사용해서 문자열을 붙일 수 있습니다.

a = "문자열 배열"
b = "python string array"
c = a + "문자열 추가"
f = a * 10

d = a + b

print(d)
print(c)
print(f)

a, b 선언된 문자열을 + 연산자를 사용해서 d에 저장이 가능합니다.

파이썬에서는 '*' 연산자를 사용해서 문자열 복사가 가능합니다.

출력 결과 문자열을 붙어 있는 것을 확인할 수 있습니다.

a 변수를 10 복사한 내용도 확인이 가능합니다.

문자열을 직관적으로 사용할 수 있어 정말 편리합니다.

 

파이썬 문자열 메서드 사용법

파이썬에서는 문자열을 선언하면 객체로 인식하면 다양한 메서드를 사용할 수 있습니다.

a = "문자열 배열"
b = "python string array"
c = "문자열1|문자열2|문자열3"

print(len(a))
print(a.find('배'))
print(a.index("배"))
print(b.isupper())
print(a.rfind('배'))
print(c.split('|'))

a문자열에 "."을 사용하면 메서드를 확인할 수 있습니다.

다양한 메소드를 사용해서 문자열 정보를 확인할 수 있습니다.

문자열 메소드 중에서 split를 사용하면 구분자를 확인해서 배열 형태로 문자열이 저장됩니다.

파이썬은 문자열을 직관적으로 변경하거나, 연산할 수 있어 사용하기 매우 편리합니다.

decode(), encode()를 사용해서 문자열 인코딩도 가능하고, 바이트 배열에 따른 문자열 출력도 가능합니다.

쉽게 문자열을 접근할 수 있어 코드 내용이 많아 질 경우 오류를 최소화할 수 있습니다.

문자열은 매우 중요한 내용이기 때문에 꼭 많이 코딩해보세요.

감사합니다.

반응형
반응형

C언어 문자열 함수

C언어에서 사용하는 문자열은 다양한 함수를 사용해서 변경이 가능합니다.

오늘은 문자열을 다루는 함수에 대해서 알아보겠습니다.

먼저 문자열 함수를 사용하기 위해서는 string.h 헤더를 추가해야 합니다.

 

더보기
문자열 길이 확인 strnlen_s

이전 강좌에서는 자료형 크기를 확인하는 sizeof함수를 사용해서 문자열 길이를 확인했습니다.

sizeof 경우 포인트를 사용한 문자열일 경우 포인트 크기만 확인하게 됩니다.

그래서 정확한 문자열을 확인할 수 없습니다.

반면 strnlen_s는 null문자열을 제외한 크기를 바이트 단위로 확인합니다.

#include <stdio.h>
#include <string.h>
int main(void)
{
	
	char strValue[] = "this is strnlen_s";

	int strSize = strnlen_s(strValue, sizeof(strValue));


	printf(" %s 문자열 크기는 = %d\n", strValue, strSize);
	printf("\n");

	return 0;
}

string.h 헤더를 추가하고 strnlen_s를 사용해서 문자열 길이를 확인했습니다.

C언어 문자열 함수

문자열 사용 시 함수 뒤에 "_s" 함수를 사용하면 보안 취약점을 개선할 수 있습니다.

문자열 크기를 정확하게 확인하기 때문에 중간 변조에 대해서 방어할 수 있습니다.

 

더보기
문자열 복사 strcpy_s

문자열을 복사하기 위해서는 strcpy_s를 사용해서 복사할 수 있습니다.

#include <stdio.h>
#include <string.h>
int main(void)
{
	
	char strCopy1[] = "this is copy";
	char strCopy2[] = "strcpy";

	strcpy_s(strCopy1, sizeof(strCopy1), strCopy2);

	printf(" 복사된 문자열은 \" %s \" 입니다.\n", strCopy1);
	printf("\n");

	return 0;
}

strCopy1 문자열에 strCopy2 문자열을 복사했습니다.

strcpy_s 함수를 사용해서 두 번째 복사하기 위한 배열 사이즈를 설정합니다.

만약 이 사이즈보다 복사 문자열이 길다면 오류를 출력합니다.

C언어 문자열 함수

출력 결과 strCopy1 문자열이 "strcpy"로 변경되었습니다.

 

 

 

 

더보기
문자열 연결 함수 strcat_s

문자열은 연결하기 위해서는 strcat_s 함수를 사용합니다.

strcat_s 함수를 사용하기 위해서는 문자열을 연결하기 위한 배열이 합산된 길이보다 커야 합니다.

#include <stdio.h>
#include <string.h>
int main(void)
{
	
	char strCat1[40] = "this is ";
	char strCat2[] = " strcat_s";

	strcat_s(strCat1, sizeof(strCat1), strCat2);

	printf(" 복사된 문자열은 \" %s \" 입니다.\n", strCat1);
	printf("\n");

	return 0;
}

strCat1 문자열을 길이를 40으로 고정했습니다.

strcat_s를 사용하면 strCat2 문자열이 strCat1 문자열에 포함됩니다.

C언어 문자열 함수

출력 결과 문자열이 연결된 것을 확인 할 수 있습니다.

strCat1 문자열 길이가 합산된 길이보다 작을 경우 오류를 출력합니다.

 

더보기
문자열 비교 함수 strcmp

문자열을 비교하기 위해서는 strcmp함수를 사용합니다.

strcmp함수는 문자열을 바이트 단위로 비교해서 결과를 리턴합니다.

문자열이 같으면 0을 리턴하고 다르면 0보다 작은 값을 리턴합니다.

#include <stdio.h>
#include <string.h>
int main(void)
{
	
	char strcmp1[] = "strcmp1";
	char strcmp2[] = "strcmp2";
	char strcmp1copy[] = "strcmp1";

	int r1 = strcmp(strcmp1, strcmp2);
	int r2 = strcmp(strcmp1, strcmp1copy);


	printf(" 첫번째 비교 결과는 = %d 입니다.\n", r1);
	printf("\n");
	printf(" 두번째 비교 결과는 = %d 입니다.\n", r2);

	return 0;
}

3개의 문자열을 사용해서 두번 비교했습니다.

C언어 문자열 함수

출력 결과 처음 strcmp1, strcmp2 문자열을 비교하면 -1을 리턴합니다.

두 번째 strcmp1, strcmp1copy 문자열일 비교하면 같은 문자열이기 때문에 0을 리턴합니다.

문자열은 다양한 함수를 사용해서 관리할 수 있기 때문에 반드시 공부해주세요.

이상으로 문자열 함수에 대해서 마치겠습니다.

감사합니다.

반응형

+ Recent posts