{fieldname component ! conversionflag : format_spec} 와 같은 형태를 가진다.

 

fieldname : 0,1,2와 같은 번호나 surname, givenname과 같은 키워드를 사용할 수 있다.

component : [index]와 같이 리스트 콤포넌트를 사용하거나 .attr 와 같이 attributes가 있다면 사용할 수 있다.

conversion flag : ! 다음에 r,s 가 오거나 repr, str ascii func등을 부를 수 있다.

 

format_spec

 

[[fill]align] [sign] {#] [0] [width] [,] [.prec] [typecode] 형태로 이루어진다.

 

[fill] : *** --- 등 좌우 여백을 채울 문자를 넣는다.

[align] : <,>,^,= 등을 넣는다

[sign] : +,-, space

[,] : thousands separator

 

'Python > string' 카테고리의 다른 글

반복되는 문자열 찾기  (0) 2019.12.27
binary, utf-8, utf-16  (0) 2019.12.27
append, pop, sort, reverse  (0) 2019.12.27
encode, decode  (0) 2019.12.26
ascii, hex, unicode  (0) 2019.12.26

In [127]: import re

...:

...: def findall(SearchKey,Sentence):

...: rtn=[[m.group(),m.start(),m.end()] for m in re.finditer(SearchKey,Sentence)]

...: return rtn

 

In [128]: res2="abc aa bb ddd dhfksa kdafja kdasfjal qoqrfj"

 

In [123]: a=findall('(\w)\1+',res2)


In [124]: a

Out[124]: []


In [125]: a=findall(r'(\w)\1+',res2)


In [126]: a

Out[126]: [['aa', 4, 6], ['bb', 7, 9], ['ddd', 10, 13]]

 

\1은 앞에서 그룹화 했던 부분과 완전히 동일한 것을 말한다.

단순히 \w{2,} 와 같이 하면 동일 문자 반복이 아닌 문자 반복이 된다.

따라서 aa bb와 같이 앞에 나온 것과 동일한 문자를 반복할 때는 그룹화를 시켜준 다음 \1 \2와 같이 그룹의 번호를 사용하면 된다.


r' '와 같이 raw string을 사용하는 것이 편리하다.

 

'Python > string' 카테고리의 다른 글

format string  (0) 2019.12.27
binary, utf-8, utf-16  (0) 2019.12.27
append, pop, sort, reverse  (0) 2019.12.27
encode, decode  (0) 2019.12.26
ascii, hex, unicode  (0) 2019.12.26

In [19]: s='\xebmail'

 

In [20]: s

Out[20]: 'ëmail'

 

In [28]: file=open('unicode.txt','w',encoding='utf-8')

 

In [29]: file.write(s)

Out[29]: 5

 

In [30]: file.close()

 

In [31]: file=open('unicode16.txt','w',encoding='utf-16')

 

In [32]: file.write(s)

Out[32]: 5

 

In [33]: file.close()

 

In [34]: raw=open('unicode.txt','rb').read()

 

In [35]: raw

Out[35]: b'\xc3\xabmail'

 

In [36]: len(raw)

Out[36]: 6

 

In [37]: raw2=open('unicode16.txt','rb').read()

 

In [38]: raw2

Out[38]: b'\xff\xfe\xeb\x00m\x00a\x00i\x00l\x00'

 

In [39]: len(raw2)

Out[39]: 12

 

In [40]: raw.decode('utf-8')

Out[40]: 'ëmail'

 

In [41]: raw2.decode('utf-16')

Out[41]: 'ëmail'

 

In [42]: raw.decode('utf-16')

Out[42]: 'ꯃ慭汩'

 

'Python > string' 카테고리의 다른 글

format string  (0) 2019.12.27
반복되는 문자열 찾기  (0) 2019.12.27
append, pop, sort, reverse  (0) 2019.12.27
encode, decode  (0) 2019.12.26
ascii, hex, unicode  (0) 2019.12.26

In [1]: l=['abc',123,'1.23','spam']

In [2]: l+[23]
Out[2]: ['abc', 123, '1.23', 'spam', 23]

In [3]: l*2
Out[3]: ['abc', 123, '1.23', 'spam', 'abc', 123, '1.23', 'spam']

In [4]: l
Out[4]: ['abc', 123, '1.23', 'spam']

In [5]: l.append('mem')

In [6]: l
Out[6]: ['abc', 123, '1.23', 'spam', 'mem']

In [7]: l.pop(2)
Out[7]: '1.23'

In [8]: l
Out[8]: ['abc', 123, 'spam', 'mem']
 
In [13]: m=['22','11','33']

In [14]: m
Out[14]: ['22', '11', '33']

In [15]: m.sort()

In [16]: m
Out[16]: ['11', '22', '33']

In [17]: m.reverse()

In [18]: m
Out[18]: ['33', '22', '11']


'Python > string' 카테고리의 다른 글

반복되는 문자열 찾기  (0) 2019.12.27
binary, utf-8, utf-16  (0) 2019.12.27
encode, decode  (0) 2019.12.26
ascii, hex, unicode  (0) 2019.12.26
string format  (0) 2019.12.26

In [9]: b='\xa3' ​

In [10]: b
Out[10]: '£' ​

In [11]: d='\u00a3'.encode('latin1') ​

In [12]: d
Out[12]: b'\xa3' ​
In [13]: d.decode('latin1')
Out[13]: '£'

'Python > string' 카테고리의 다른 글

binary, utf-8, utf-16  (0) 2019.12.27
append, pop, sort, reverse  (0) 2019.12.27
ascii, hex, unicode  (0) 2019.12.26
string format  (0) 2019.12.26
strip, rstrip, lstrip  (0) 2019.12.26

1. 아스키 10진수

In [19]: chr(65)
Out[19]: 'A'

In [1]: ord('A')
Out[1]: 65

2. 아스키 헥사
\x()() 형태로 \x 다음 2자리
In [11]: s='\x41'
In [12]: s
Out[12]: 'A'

In [13]: s='\xc4'
In [14]: s
Out[14]: 'Ä'

3. unicode short
\u()()()() 형태로 \u 다음 4자리

In [15]: s='\u00c4'
In [16]: s
Out[16]: 'Ä'

4. unicode long
\U()()()()()()()() 형태로 \U 다음 8자리

In [17]: s='\U000000c4'
In [18]: s
Out[18]: 'Ä'
#

'Python > string' 카테고리의 다른 글

append, pop, sort, reverse  (0) 2019.12.27
encode, decode  (0) 2019.12.26
string format  (0) 2019.12.26
strip, rstrip, lstrip  (0) 2019.12.26
isalpha  (0) 2019.12.26

2 methods

1. % method
2. format() method

example)
In [7]: '%s, A, %s, and B' % ('first', 'second')
Out[7]: 'first, A, second, and B'

In [8]: '{}, A, {}, and B'.format('first', 'second')
Out[8]: 'first, A, second, and B'

In [20]: '{:>30,.2f}'.format(296999.2567)
Out[20]: ' 296,999.26'

In [21]: '{:>30,.2f}'.format(296999.2567)
Out[21]: ' 296,999.26'

In [22]: '{:>20,.2f}'.format(296999.2567)
Out[22]: ' 296,999.26'

In [23]: '{:->20,.2f}'.format(296999.2567)
Out[23]: '----------296,999.26'

In [24]: '{:_>20,.2f}'.format(296999.2567)
Out[24]: '__________296,999.26'
#

'Python > string' 카테고리의 다른 글

encode, decode  (0) 2019.12.26
ascii, hex, unicode  (0) 2019.12.26
strip, rstrip, lstrip  (0) 2019.12.26
isalpha  (0) 2019.12.26
upper()  (0) 2019.12.26

명령어 string method

strip, rstrip, lstrip

사용법

결과

차례로 문자열의 양쪽, 오른쪽, 왼쪽 공백문자를 없애준다

예시

In [1]: a=' 111 '

In [2]: a

Out[2]: ' 111 '

In [3]: a.rstrip()

Out[3]: ' 111'

In [4]: a.lstrip()

Out[4]: '111 '

In [5]: a.strip()

Out[5]: '111'

'Python > string' 카테고리의 다른 글

ascii, hex, unicode  (0) 2019.12.26
string format  (0) 2019.12.26
isalpha  (0) 2019.12.26
upper()  (0) 2019.12.26
split  (0) 2019.12.26

명령어 string method

isalpha

사용법

문자열a.isalpha()

결과

문자열a가 알파벳으로만 이루어져 있는지 검사한다.

예시

In [1]: a='spam'

In [2]: a

Out[2]: 'spam'

In [7]: a.isalpha()

Out[7]: True

In [8]: a.isdigit()

Out[8]: False

In [10]: a='spam2'

In [11]: a

Out[11]: 'spam2'

In [12]: a.isdigit()

Out[12]: False

In [13]: a.isalpha()

Out[13]: False

 

'Python > string' 카테고리의 다른 글

string format  (0) 2019.12.26
strip, rstrip, lstrip  (0) 2019.12.26
upper()  (0) 2019.12.26
split  (0) 2019.12.26
replace  (0) 2019.12.26

string method

.upper()

사용법

문자열a.upper()

결과

문자열a를 대문자로 바꾼 문자열을 반환한다.

예시

In [1]: a='spam'

In [2]: a

Out[2]: 'spam'

In [3]: a.upper()

Out[3]: 'SPAM'

In [4]: a

Out[4]: 'spam'

In [5]: b=a.upper()

In [6]: b

Out[6]: 'SPAM'

'Python > string' 카테고리의 다른 글

strip, rstrip, lstrip  (0) 2019.12.26
isalpha  (0) 2019.12.26
split  (0) 2019.12.26
replace  (0) 2019.12.26
find  (0) 2019.12.26

split

사용법

문자열a.split(분리자)

결과

문자열a에서 분리자를 발견할 때마다 문자열을 끊고 분리자는 포함하지 않은 리스트를 반환한다.

예시

 

In [1]: s='ad;df;ffg;fgh;'

In [2]: s.split(';')

['d','df','ffg','fgh','']

 

'Python > string' 카테고리의 다른 글

isalpha  (0) 2019.12.26
upper()  (0) 2019.12.26
replace  (0) 2019.12.26
find  (0) 2019.12.26
find  (0) 2019.12.23

replace

사용법

문자열a.replace(문자열b,문자열c)

결과

문자열a에서 문자열b를 찾아서 문자열c로 바꾼 새로운 문자열을 만든다.

예시

In [1]: s='spam'

In [2]: s.replace('pa','123')

's123m'

 

'Python > string' 카테고리의 다른 글

upper()  (0) 2019.12.26
split  (0) 2019.12.26
find  (0) 2019.12.26
find  (0) 2019.12.23
join  (0) 2019.12.23

find

사용법
문자열a.find(문자열b)

결과
문자열a에서 문자열b를 찾아 offset을 리턴한다.

예시
In [1]: s='spam'
In [2]: s.find('pa')
1

'Python > string' 카테고리의 다른 글

upper()  (0) 2019.12.26
split  (0) 2019.12.26
replace  (0) 2019.12.26
find  (0) 2019.12.23
join  (0) 2019.12.23

명령어
find

사용법
문자열a.find(문자열b)

결과
문자열a에서 문자열b를 찾아 offset을 리턴한다.

예시
In [1]: s='spam'
In [2]: s.find('pa')
1

'Python > string' 카테고리의 다른 글

upper()  (0) 2019.12.26
split  (0) 2019.12.26
replace  (0) 2019.12.26
find  (0) 2019.12.26
join  (0) 2019.12.23

join

사용법

문자열.join(리스트)

결과

리스트에 있는 원소들을 나열하고 원소들 사이에 문자열을 넣어서 모두 하나로 연결하여 새로운 문자열을 만든다.

예시

In [1]: 'x'.join(['1', '2', '3'])

'1x2x3'

 

'Python > string' 카테고리의 다른 글

upper()  (0) 2019.12.26
split  (0) 2019.12.26
replace  (0) 2019.12.26
find  (0) 2019.12.26
find  (0) 2019.12.23

+ Recent posts