1. Remove email and url
2. Remove byline
3. Remove others
4. Remove whitespace
content='''(서울=뉴스1) 이승배 기자 = 박정호 SKT 대표이사가 25일 서울 중구 을지로 SKT타워에서 열린 SK텔레콤 제37기 정기 주주총회에 참석하고 있다. 2021.3.25/뉴스1
SK텔레콤이 주주가치 제고를 위해 한국거래소에 자사주 869만주 소각을 반영한 변경상장을 완료했다고 14일 밝혔다. 발행주식 총수의 10.8% (약 2조6000억원)규모다. 이로써 전날 기준 SK텔레콤의 발행주식 총수는 기존 8075만주에서 7206만주로 줄어들었다.
앞서 SK텔레콤은 지난 4일 올해 인적분할에 앞서 기업가치 및 주주가치 제고를 위해 기존 자사주를 사실상 전량 소각한다고 발표한 바 있다. 이번 자사주 소각으로 발행주식 총수가 감소하면서 기존 주주들의 지분율이 모두 상승했다.
SK텔레콤은 "분할 후 기업가치가 올라갈 것으로 전망하는 증권업계 전반의 시각을 감안하면, 기업 펀더멘털 변동없이 주식 수만 줄어든 상황"이라며 "자사주 소각 전보다 주식가치 상승 여력이 더 커졌다"고 분석했다.
SK텔레콤은 "발행주식 총수가 줄었음에도 전날 시가총액이 약 22조5000억원을 기록해 주주총회에서 기업구조(인적분할) 개편을 공식화했던 지난 3월25일 시가총액(약 20조5000억원)보다 10%가량 늘었다"고 설명했다. 주가도 연초 대비 30% 이상 상승했다고 덧붙였다.
한편 SK텔레콤은 상반기 내 이사회 의결을 거쳐 오는 10월 주주총회, 11월 인적분할 법인의 재상장을 통해 인적분할 절차를 끝낼 계획이다.
김수현 기자 theksh01@mt.co.kr'''
My first inefficient code
def processing(content):
pattern_email = re.compile(r'[-_0-9a-z]+@[-_0-9a-z]+(?:\.[0-9a-z]+)+', flags=re.IGNORECASE)
pattern_url = re.compile(r'(?:https?:\/\/)?[-_0-9a-z]+(?:\.[-_0-9a-z]+)+', flags=re.IGNORECASE)
pattern_others = re.compile(r'\.([^\.]*(?:기자|특파원|교수|작가|대표|논설|고문|주필|부문장|팀장|장관|원장|연구원|이사장|위원|실장|차장|부장|에세이|화백|사설|소장|단장|과장|기획자|큐레이터|저작권|평론가|©|©|ⓒ|\@|\/|=|▶|무단|전재|재배포|금지|\[|\]|\(\))[^\.]*)$')
ptn1=re.compile('[a-zA-Z가-힣]+ ?뉴스|뉴스+[a-zA-Z가-힣0-9]+ ?|[a-zA-Z가-힣]+newskr|[a-zA-Z가-힣]+ ?Copyrights')
ptn2=re.compile('\s+Copyrights|\s+배포 ?금지')
ptn3=re.compile('[a-zA-Z가-힣]+com|[a-zA-Z가-힣]+.kr')
ptn4=re.compile('[가-힣]+ ?기자|[가-힣]+ ?신문|[가-힣]+투데이|[가-힣]+미디어|[가-힣]+ ?데일리|[가-힣]+ 콘텐츠 무단|[가-힣]+ ?전재|[가-힣]+배포 ?금지')
ptn5=re.compile('데일리+[가-힣]')
ptn6=re.compile(r'전재\s+변형')
ptn7=re.compile('\s+배포 ?금지')
ptn8=re.compile('[a-zA-Z가-힣]+.kr')
ptn9=re.compile('/^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/')
ptn10=re.compile('[\r|\n]')
ptn11=re.compile('\[[^)]*\]')
ptn12=re.compile('[^ ㄱ-ㅣ가-힣A-Za-z0-9]')
ptn13=re.compile('뉴스코리아|및|Copyright|저작권자|ZDNET A RED VENTURES COMPANY')
ptn14=re.compile('\([^)]*\)')
ptn15=re.compile('[-=+,#\?:^$@*\"※~&%ㆍ!』\\‘|\(\)\[\]\<\>`\'…》·▲\n]')
ptn16=re.compile(r"[\s]{2,}")
ptn17=re.compile(r'/+[a-zA-Z가-힣]')
lst=[ptn1,ptn2,ptn3,ptn4,ptn5,ptn6,ptn7,ptn8,ptn9,ptn10,ptn11,ptn12,ptn13,ptn14,ptn15,ptn16,ptn17]
result = pattern_email.sub('', content)
result = pattern_url.sub('', result)
result = pattern_others.sub('.', result)
for i in lst:
result=i.sub('',result)
pattern_bracket = re.compile(r'^((?:\[.+\])|(?:【.+】)|(?:<.+>)|(?:◆.+◆)\t)')
result = pattern_bracket.sub('', result).strip()
return result
Efficient code, what is different from before is
- Declare variable outside of fuction
- Make the list of all the compile
- Loop the list with enumerate in order to handle if there is exception for handling
ptn_list = [
re.compile(r'[-_0-9a-z]+@[-_0-9a-z]+(?:\.[0-9a-z]+)+', flags=re.IGNORECASE),
re.compile(r'(?:https?:\/\/)?[-_0-9a-z]+(?:\.[-_0-9a-z]+)+', flags=re.IGNORECASE),
re.compile(r'\.([^\.]*(?:기자|특파원|교수|작가|대표|논설|고문|주필|부문장|팀장|장관|원장|연구원|이사장|위원|실장|차장|부장|에세이|화백|사설|소장|단장|과장|기획자|큐레이터|저작권|평론가|©|©|ⓒ|\@|\/|=|▶|무단|전재|재배포|금지|\[|\]|\(\))[^\.]*)$'),
re.compile('[a-zA-Z가-힣]+ ?뉴스|뉴스+[a-zA-Z가-힣0-9]+ ?|[a-zA-Z가-힣]+newskr|[a-zA-Z가-힣]+ ?Copyrights'),
re.compile('\s+Copyrights|\s+배포 ?금지'),
re.compile('[a-zA-Z가-힣]+com|[a-zA-Z가-힣]+.kr'),
re.compile('[가-힣]+ ?기자|[가-힣]+ ?신문|[가-힣]+투데이|[가-힣]+미디어|[가-힣]+ ?데일리|[가-힣]+ 콘텐츠 무단|[가-힣]+ ?전재|[가-힣]+배포 ?금지'),
re.compile('데일리+[가-힣]'),
re.compile(r'전재\s+변형'),
re.compile('\s+배포 ?금지'),
re.compile('[a-zA-Z가-힣]+.kr'),
re.compile('/^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/'),
re.compile('[\r|\n]'),
re.compile('\[[^)]*\]'),
re.compile('[^ ㄱ-ㅣ가-힣A-Za-z0-9]'),
re.compile('뉴스코리아|및|Copyright|저작권자|ZDNET A RED VENTURES COMPANY'),
re.compile('\([^)]*\)'),
re.compile('[-=+,#\?:^$@*\"※~&%ㆍ!』\\‘|\(\)\[\]\<\>`\'…》·▲\n]'),
re.compile(r"[\s]{2,}"),
re.compile(r'/+[a-zA-Z가-힣]'),
]
def processing(content):
pattern_bracket = re.compile(r'^((?:\[.+\])|(?:【.+】)|(?:<.+>)|(?:◆.+◆)\t)')
result = str(content)
for i, ptn in enumerate(ptn_list):
result = ptn.sub('.' if i == 2 else "", result)
result = pattern_bracket.sub('', result).strip()
return result
'Basic Python > Workbook' 카테고리의 다른 글
Latitude VS Longitude (0) | 2023.06.05 |
---|---|
How to get Hydra config without using @hydra.main() (0) | 2022.11.24 |
simple way to merge list (0) | 2022.11.22 |
Seperate 2D array to nested list (0) | 2022.05.16 |