영어에서 돼지 라틴어로 번역하기
돼지라틴어란?
돼지 라틴어 (Pig Latin)는 혼란스럽게 만들려는 아동용 언어입니다. 몇 가지 간단한 규칙 (아래)을 준수하지만 신속하게 말하면 비 아동 (및 모국어가 아닌 사람들)이 이해하기가 정말 어렵습니다.
- 규칙 1 : 단어가 모음 소리로 시작하는 경우 "ay"소리를 단어 끝에 추가하십시오. 단어의 시작 부분에있는 "xr"과 "yt"는 모음 소리를 만듭니다 (예 : "xray"-> "xrayay", "yttria"-> "yttriaay").
- 규칙 2 : 단어가 자음으로 시작하는 경우 단어의 끝으로 이동 한 다음 단어 끝에 "ay"소리를 추가하십시오. 자음은 여러 개의 자음으로 구성 될 수 있습니다 (예 : "chair"-> "airchay").
- 규칙 3 : 단어가 자음 소리와 함께 "qu"다음에 단어의 끝으로 이동 한 다음 "ay"소리를 단어 끝안드로이드 스트링 단어 자르기에 추가하십시오 (예 : "square"-> "aresquay" ).
- 규칙 4 : 한 단어에 자음 클러스터 뒤에 "y"가 포함되거나 두 글자 단어의 두 번째 글자로 모음이 소리를냅니다 (예 : "rythem"-> "ythmrhay", "my"-> "ymay") .
영어 모음 -> (a ,e , i ,o , u)
영어 자음 -> (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z)
testCode
1. 정규식으로 비교
정규식 패턴의 의미
표현식 | 설명 |
^ | 문자열의 시작 |
$ | 문자열의 종료 |
. | 임의의 한 문자 (문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 |
* | 앞 문자가 없을 수도 무한정 많을 수도 있음 |
+ | 앞 문자가 하나 이상 |
? | 앞 문자가 없거나 하나있음 |
[] | 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. []내에서 ^가 선행하여 존재하면 not 을 나타낸다. |
{} | 횟수 또는 범위를 나타낸다. |
() | 소괄호 안의 문자를 하나의 문자로 인식 |
| | 패턴 안에서 or 연산을 수행할 때 사용 |
\s | 공백 문자 |
\S | 공백 문자가 아닌 나머지 문자 |
\w | 알파벳이나 숫자 |
\W | 알파벳이나 숫자를 제외한 문자 |
\d | 숫자 [0-9]와 동일 |
\D | 숫자를 제외한 모든 문자 |
\ | 정규표현식 역슬래시(\)는 확장 문자 역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미 |
(?i) | 앞 부분에 (?i) 라는 옵션을 넣어주면 대소문자를 구분하지 않음 |
출처: https://highcode.tistory.com/6 [HighCode]
모음 패턴 분석
"(\\s*)(a|e|i|o|u|yt|xr)(\\w+)"
1) \ : \가 왔기 때문에 다음에 올 문자는 특수문자로 취급하고, \다음 특수문자로 오면 그자체로 취급
2) \s : 공백문자
3) * : 앞문자가 없을 수도 무한정 많을 수도 있음
4) (a | e | i | o | u | yt | xr) : a, e ,i , o, u ,yt, xr 만 허용 | 를 이용한 or 연산
5) \ : \가 왔기 때문에 다음에 올 문자는 특스문자로 취급하고, \다음 특수문자로 오면 그자체로 취급
자음 패턴 분석
"(\\s*)(ch|qu|thr|th|sch|yt|rh|\\wqu|\\w)(\\w+)"
1) \ : \가 왔기 때문에 다음에 올 문자는 특수문자로 취급하고, \다음 특수문자로 오면 그자체로 취급
2) \s : 공백문자
3) * : 앞문자가 없을 수도 무한정 많을 수도 있음
4) (ch | qu | thr | th | sch | yt | rh | \\wqu | \\w) :
ch qu thr th sch yt rh 와 \\wqu, \\w만 허용 |를 이용한 or 연산
5)\\wqu는 \가 왔기 때문에 다음에올문자는 특수문자로취급 ,\w는 알파벳이나 숫자 를 의미
즉 qu는 특수문자로 취급하며 알파벳이나 숫자만 올수있음
6) \\w 특수문자인 알파벳이나 숫자
7) \ : \가 왔기 때문에 다음에 올 문자는 특스문자로 취급하고, \다음 특수문자로 오면 그자체로 취급
$1 ,$2 , $3은 위 패턴분석의 괄호친 부분을 의미하며
replace 메소드로 순서를 바꿔줄수 있다.
'Kotlin > Exercise' 카테고리의 다른 글
윤년 찾기 (4) | 2019.03.03 |
---|---|
Hamming -DNA 차이 (2) | 2019.03.03 |
Isogram인지아닌지 판단하기 (2) | 2019.02.24 |
Raindrop - 숫자를 문자열로 변환하기 (2) | 2019.02.23 |
Pangram인지 판단하기 (4) | 2019.02.23 |
댓글