Python 문자열: 바꾸기, 결합, 분할, Reverse

⚡ 스마트 요약

Python 문자열은 텍스트 처리를 위한 다양한 내장 메서드를 가진 변경 불가능한 문자 시퀀스입니다. 아래 예제는 실행 가능한 코드를 사용하여 슬라이싱, 문자열 연산자, replace(), upper() 및 lower(), join(), 역순 배열, split() 등의 기능을 보여줍니다.

  • 🧵 문자열을 객체로 표현하기: Python 모든 문자열을 객체로 취급하므로 메서드가 문자열 변수에 직접 연결됩니다.
  • 🔤 대소문자 변환: upper(), lower(), 및 capitalize() 함수는 원래 문자열을 변경하지 않고 대소문자를 바꿉니다.
  • 🔗 합치고 나누기: join() 함수는 구분자를 기준으로 문자를 결합하는 반면, split() 함수는 텍스트를 부분 문자열 목록으로 나눕니다.
  • 🔒 불변성: replace() 함수는 새로운 문자열을 반환합니다. 왜냐하면 Python 문자열은 제자리에서 변경할 수 없습니다.
  • 🤖 AI 지원: AI 코딩 도우미는 문자열 메서드를 생성하고 설명하여 텍스트 처리 및 자연어 처리 전처리 작업 속도를 향상시킵니다.

Python 문자열 바꾸기 결합 분할 Reverse

In Python모든 것은 객체이며, 문자열도 객체입니다. Python 문자열은 문자를 큰따옴표로 묶는 것만으로 간단하게 만들 수 있습니다.

예 :

var = "안녕하세요!"

문자열의 값에 액세스

Python 문자 유형을 지원하지 않습니다이것들은 길이가 1인 문자열로 취급되며, 부분 문자열로도 간주됩니다.

인덱스와 함께 대괄호를 사용하여 문자열을 슬라이싱하여 하위 문자열을 얻습니다.

var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])

출력:

var1[0]: G
var2[1:5]: oftw 

다양한 스트링 Opera토르

문자열 연산자는 여러 가지 방식으로 사용할 수 있으며, 예를 들어 다른 문자열을 연결하는 데 사용할 수 있습니다.

만약 a=guru이고 b=99라면, a+b= “guru99”가 됩니다. 마찬가지로, a*2를 사용하면 “GuruGuru마찬가지로 문자열에서 다른 연산자를 사용할 수 있습니다.

Opera바위 산 기술설명 예시
[] 슬라이스(Slice)는 주어진 인덱스부터 해당 문자를 반환합니다. a[1]은 단어에서 "u"를 생성합니다. Guru 따라서 (0=G, 1=u, 2=r, 3=u)

x="Guru"
print (x[1])
[ : ] 범위 슬라이스 - 주어진 범위 내의 문자를 반환합니다. x [1:3] 그것은 단어에서 "ur"을 줄 것입니다 Guru0(G)은 고려하지 않고, 그 이후의 단어인 ur만 고려한다는 점을 기억하세요.

x="Guru" 
print (x[1:3])
in 멤버십 – 주어진 문자열에 해당 문자가 존재하면 true를 반환합니다. u는 단어에 있습니다. Guru 따라서 1(참)이 나옵니다.

x="Guru" 
print ("u" in x)
하지에 멤버십 – 주어진 문자열에 해당 문자가 존재하지 않으면 true를 반환합니다. 단어에 l이 없습니다. Guru 그러므로 1이 됩니다.

x="Guru" 
print ("l" not in x)
r/R 원시 문자열은 이스케이프 문자의 실제 의미를 억제합니다. r'\n' 인쇄는 \n을 인쇄하고 R'/n' 인쇄는 \n을 인쇄합니다.
% – 문자열 형식에 사용됩니다. %r – 객체의 표준 문자열 표현(예: repr(o))을 삽입합니다. %s – 객체의 표시 문자열 표현(예: str(o))을 삽입합니다. %d – 숫자를 표시용으로 포맷합니다. 이 코드의 출력은 "guru 99"입니다.

name = 'guru'
number = 99
print ('%s %d' % (name,number))
+ 2개의 문자열을 연결합니다. 문자열을 연결하고 결과를 제공합니다.

x="Guru" 
y="99" 
print (x+y)
* 반복 문자를 두 번 인쇄합니다.

x="Guru" 
y="99" 
print (x*2)

몇 가지 더 많은 예

업데이트할 수 있습니다 Python 변수에 다른 문자열을 다시 할당하여 문자열을 바꿀 수 있습니다. 새 값은 이전 값과 관련될 수도 있고, 완전히 다른 문자열일 수도 있습니다.

x = "Hello World!"
print(x[:6]) 
print(x[0:6] + "Guru99")

출력:

Hello
Hello Guru99

주의 사항: – 슬라이스 [:6] 또는 [0:6]은 동일한 효과를 냅니다.

Python 문자열 교체() 메서드

replace() 메서드는 이전 문자열의 모든 값을 새 값으로 바꾼 문자열의 복사본을 반환합니다.

oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print(newstring)

출력:

I love Guru99

대문자와 소문자 문자열 변경

In Python, 문자열을 대문자나 소문자로 변경할 수도 있습니다.

string="python at guru99"
print(string.upper())

출력:

PYTHON AT GURU99

마찬가지로 capitalize()와 같은 다른 함수도 사용할 수 있습니다.

string="python at guru99"		
print(string.capitalize())

출력:

Python at guru99

문자열을 소문자로 변환할 수도 있습니다.

string="PYTHON AT GURU99"
print(string.lower())

출력:

python at guru99

문자열에 "결합" 기능 사용

`join()` 함수는 문자열을 연결하는 더욱 유연한 방법입니다. `join()` 함수를 사용하면 문자열에 어떤 문자든 추가할 수 있습니다.

예를 들어, 문자열 "의 모든 문자 뒤에 콜론(:)을 추가하려는 경우Python", 다음 코드를 사용할 수 있습니다.

print(":".join("Python"))

출력:

P:y:t:h:o:n

Rev문자열을 어싱하는 중

reversed() 함수를 사용하면 문자열을 뒤집을 수 있습니다. 예를 들어, "12345"라는 문자열이 있다고 가정해 보겠습니다. 아래와 같이 reversed() 함수를 적용하면 문자열이 뒤집힙니다.

string="12345"		
print(''.join(reversed(string)))

출력:

54321

문자열 분할

문자열 분할은 다음에 적용할 수 있는 또 다른 기능입니다. Python"guru99 career guru99"라는 문자열에 대해 살펴보겠습니다. 먼저 word.split 명령어를 사용하여 문자열을 분할하고 결과를 얻습니다.

word="guru99 career guru99"		
print(word.split(' '))

출력:

['guru99', 'career', 'guru99']

이를 더 잘 이해하기 위해 분할의 또 다른 예를 살펴보겠습니다. 공백(' ') 대신 'r'을 넣으면 문자열에서 'r'이 포함된 위치에서 문자열이 분할됩니다.

word="guru99 career guru99"		
print(word.split('r'))

출력:

['gu', 'u99 ca', 'ee', ' gu', 'u99']

중요 사항 : In Python문자열은 변경할 수 없습니다.

다음 코드를 고려하십시오.

x = "Guru99"
x.replace("Guru99","Python")
print(x)

출력:

Guru99

그것은 결국 돌아올 것이다 Guru99. 이는 x.replace(“ 때문입니다.Guru99”,“Python”) 반환 교체가 이루어진 X의 사본.

변경 사항을 확인하려면 다음 코드를 사용해야 합니다.

x = "Guru99"
x = x.replace("Guru99","Python")
print(x)

출력:

Python

위의 코드는 다음과 같습니다. Python 3가지 예시입니다. 실행해 보시려면 다음 코드를 사용하세요. Python 2. 다음 코드를 참고해 주십시오.

Python 2 예

#Accessing Values in Strings
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:",var1[0]
print "var2[1:5]:",var2[1:5]
#Some more examples
x = "Hello World!"
print x[:6] 
print x[0:6] + "Guru99"
#Python String replace() Method
oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print newstring
#Changing upper and lower case strings
string="python at guru99"
print string.upper()
string="python at guru99"		
print string.capitalize()
string="PYTHON AT GURU99"
print string.lower()
#Using "join" function for the string
print":".join("Python")		
#Reversing String
string="12345"		
print''.join(reversed(string))
#Split Strings
word="guru99 career guru99"		
print word.split(' ')
word="guru99 career guru99"		
print word.split('r')
x = "Guru99"
x.replace("Guru99","Python")
print x
x = "Guru99"
x = x.replace("Guru99","Python")
print x

출력:

var1[0]: G
var2[1:5]: oftw
Hello
Hello Guru99
I love Guru99
PYTHON AT GURU99
Python at guru99
python at guru99
P:y:t:h:o:n
54321
['guru99', 'career', 'guru99']
['gu', 'u99 ca', 'ee', ' gu', 'u99']
Guru99
Python

Python 문자열 서식 지정에 번거로운 %d 등을 사용하는 대신 .format() 함수를 도입했습니다.

» 자세히 알아보기 Python 문자열 분할()

자주 묻는 질문

F-문자열은 중괄호 안에 변수와 표현식을 포함하는, 접두사 'f'가 붙은 리터럴입니다. Python 3.6 퍼센트 연산자나 format() 메서드보다 더 빠르고 가독성이 뛰어납니다.

`strip()` 함수는 앞뒤 공백을 제거하고, `lstrip()`은 왼쪽 공백, `rstrip()`은 오른쪽 공백을 제거합니다. `strip('xy')`처럼 문자를 지정하면 공백 대신 지정된 문자가 제거됩니다.

find() 메서드는 부분 문자열이 처음 나타나는 위치의 인덱스를 반환하고, 찾지 못한 경우 -1을 반환합니다. index() 메서드는 동일한 방식으로 작동하지만, 부분 문자열이 없는 경우 ValueError를 발생시킵니다.

`count()` 메서드는 부분 문자열이 나타나는 횟수를 반환합니다. 예를 들어 `'guru99 guru99'.count('guru99')`는 2를 반환합니다. 슬라이스 내에서 개수를 셀 때 시작 및 끝 인덱스를 선택적으로 전달할 수도 있습니다.

`startswith()`와 `endswith()` 함수를 사용하세요. 이 함수들은 True 또는 False를 반환합니다. 두 함수 모두 튜플을 인수로 받으므로 `text.startswith(('http', 'https'))`는 여러 접두사를 한 번에 검사합니다. 이 검사는 대소문자를 구분하므로 먼저 `lower()` 함수를 사용하여 정규화해야 합니다.

== 연산자는 문자열 값을 비교하여 문자가 일치하면 True를 반환합니다. is 연산자는 두 이름이 메모리에서 동일한 객체를 가리키는지 여부를 비교합니다. 일상적인 텍스트 비교에는 항상 == 연산자를 사용하십시오.

AI 코딩 도우미는 평이한 언어로 된 프롬프트에서 문자열 처리 코드를 생성하고, 익숙하지 않은 방법을 설명하며, 더 깔끔한 대안을 제시합니다. 머신 러닝 및 자연어 처리에서 split(), lower(), replace()와 같은 연산은 모델에 입력하기 전에 원시 텍스트를 정규화합니다.

네. GitHub Copilot은 사용자의 목표를 설명하는 댓글을 기반으로 replace(), join(), split()과 같은 메서드를 자동 완성해 줍니다. 에이전트 기반 AI 도구는 더 나아가 전체 스크립트를 리팩토링하기도 합니다. 예를 들어, swap()과 같은 메서드를 자동으로 생성해 줍니다.ping join() 또는 f-strings에 대한 루프를 만든 다음 테스트를 실행합니다.

이 게시물을 요약하면 다음과 같습니다.