Java - 기본형(primitive type)
1. 논리형 - boolean
2. 문자형 - char
Python - txt파일 가공하기
1. 성경책 구절정보 제거하기
2. 장별로 나누기
자바에서 논리형은 한가지뿐이다.
기본 default값은 false이다.
단 2가지 값만 표현하면 되기때문에 1비트만으로도 충분하나, Java에서는 데이터를 다루는 단위가 1바이트라서 boolean의 크기는 1바이트다.
대소문자를 구별하기때문에 TRUE와 true는 다른 것으로 간주한다.
문자형 역시 char 한가지뿐이다.
문자의 유니코드(정수)가 저장된다. public class CharToCode {
public static void main(String[] args) {
char ch = 'A'; // char ch = 65, 문자를 유니코드 형태로 저장. (정수이지만 문자타입은 char)
int code = (int)ch; // ch에 저장된 값을 int 타입으로 변환하여 저장
System.out.printf("%c = %d (%#X) %n", ch, code, code);
// %c : char, %d : 정수, %X는 16진수(#이 있으면 접두사 '0x'가 나옴), %n : 줄바꿈
char hch = '가'; // char hch = 0xAC00
System.out.printf("%c = %d (%#X) %n", hch, (int)hch, (int)hch);
// %X (대문자) : 출력도 대문자로 출력, %x (소문자) : 출력도 소문자로 출력
}
}
원래 인터넷에서 크롤링해서 txt파일을 만드려했으나, 크롤링하기에 적당한 웹페이지를 찾지 못 했을 뿐더러, 성경책 txt파일을 찾아서 그것을 가공하여 사용하기로 했다.
가공해야할 일은 당장 2가지이다.
1. txt에 있는 각 절마다 있는 구절정보를 제거하기
창01:01 태초에 하나님이 천지를 창조하시니라
창01:02 땅이 혼돈하고 공허하며 흑암이 깊음 위에 있고 하나님의 신은 수면에 운행하시니라
창01:03 하나님이 가라사대 빛이 있으라 하시매 빛이 있었고
창01:04 그 빛이 하나님의 보시기에 좋았더라 하나님이 빛과 어두움을 나누사
창01:05 빛을 낮이라 칭하시고 어두움을 밤이라 칭하시니라 저녁이 되며 아침이 되니 이는 첫째 날이니라
창01:06 하나님이 가라사대 물 가운데 궁창이 있어 물과 물로 나뉘게 하리라 하시고
창01:07 하나님이 궁창을 만드사 궁창 아래의 물과 궁창 위의 물로 나뉘게 하시매 그대로 되니라
이런식으로 되어있는 문서에서 각 라인 앞에 있는 창01:01을 제거하려고 했다.
사용된 코드는 아래와 같다.
import re
f = open('Personal_project/Gen.txt', 'r')
i = 0
while i < 50 :
readF = f.readline()
results = re.sub('^창[0][1]:\d+' ' ',"",readF)
print(results)
i += 1
다음으로 할일은 성경책을 장별로 나누는 일이다.
창01:01에서 장(chapter) 정보를 인식하고 따로 txt파일에 써야한다.
현재까지 진행한 상태는 chapter 정보를 인식하는 단계까지이다.
import re
f = open('Personal_project/Gen.txt', 'r')
i = 0
while i < 50 :
readF = f.readline()
if readF[1:3] == "01":
results = re.sub('^창[0][1]:\d+' ' ',"",readF)
print(results)
i += 1
else:
continue
반복문을 사용해서 진행할 수 있도록 코드를 더 발전시켜야한다.