memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

1. 문자열 개수 찾기

문자열의 개수를 찾을 때는 strcount() 메소드를 이용한다.

<python />
greet = "Hello, World!" print("`o` count:", greet.count("o")) print("`l` count:", greet.count("l"))
<python />
`o` count: 2 `l` count: 3

 

1.1. 문자열이 있는지 확인

strfind() 메소드를 이용한다.

  • find() 메소드는 찾는 문자열이 있는 경우, 찾은 문자열의 첫번째 인덱스 값을 반환한다.
  • 찾은 문자열이 여러개인 경우 첫번째 문자열의 첫번째 인덱스를 반환한다.
  • 찾는 문자열이 없는 경우, -1 을 반환한다.
<python />
greet = "Hello, Python" print(greet.find("Python")) # 찾은 문자열의 첫번째 인덱스 반환 print(greet.find("Java")) # 찾는 문자열이 없으면 `-1` 을 반환 foo = "Python2, Python3" print(foo.find("Python")) # 여러개일때, 첫번째 문자열의 인덱스 반환
<python />
7 -1 0

 

2. 정규식으로 특정 문자열 찾기

re 모듈의 search() 메소드와 정규식을 이용하여 특정 문자열을 찾는다.

  • 찾은 뒤에는 group() 또는 groups() 를 통해 찾은 문자열을 가져온다.
  • 찾지 못하면 None 값을 반환한다.

2.0.1. group() 메소드

<python />
# a 태그에서 naver URL 찾기 a_tag = "<a href=\"https://www.naver.com\" target=\"_blank\">NAVER</a>" pattern = r"\"https?://[a-zA-Z0-9.]+\"" search = re.search(pattern, a_tag) if search: # 찾으면 group() 을 통해 값을 가져올 수 있다. print(search.group()) else: # 못찾으면 None 값을 반환 print("Not found string. {}".format(search))
<python />
"https://www.naver.com"

2.0.2. groups() 메소드

<python />
# groups() 사용하기 # 아래 예제는 (전체 URL, 프로토콜, 도메인) 가져오는 예제 pattern2 = r"\"((https?)://([a-zA-Z0-9.]+))\"" search2 = re.search(pattern2, a_tag) if search2: # 정규식에 포함된 괄호 `(`, `)` 내부의 모든 문자열을 가져온다. # 가장 겉에 있는 괄호 문자열 부터 가져온다. # 예 => (https?://[a-zA-Z0-9.]+), (https?), ([a-zA-Z0-9.]+) print(search2.groups()) else: print("Not found string. {}".format(search2))
<python />
('https://www.naver.com', 'https', 'www.naver.com')

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!