All Projects → dragonteros → kor-to-number.js

dragonteros / kor-to-number.js

Licence: MIT license
한글로 적힌 한국어 수사를 숫자로 변환하는 자바스크립트 라이브러리입니다.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to kor-to-number.js

gksdud
A tiny JavaScript utility that corrects miswritten Hangeul sentences like gksdud
Stars: ✭ 28 (-28.21%)
Mutual labels:  korean, hangul, hangeul
NavilIME
Windows Hangul (Korean) Input Method Editor based on TSF
Stars: ✭ 79 (+102.56%)
Mutual labels:  korean, hangul
amazfit-bip-kr
Amazfit Bip Korean Firmware and tools for making it
Stars: ✭ 34 (-12.82%)
Mutual labels:  korean, hangul
hangul-online
Hangul fonts storage and viewer
Stars: ✭ 16 (-58.97%)
Mutual labels:  korean, hangul
hanspell
(주)다음과 부산대학교 인공지능연구실/(주)나라인포테크의 웹 서비스를 이용한 한글 맞춤법 검사기.
Stars: ✭ 72 (+84.62%)
Mutual labels:  korean, hangul
KoreanTextMatcher
한글 음절 근사 매칭/초성 검색 라이브러리
Stars: ✭ 39 (+0%)
Mutual labels:  korean, hangul
uck
숫자 -> 한글 단위 변환 모듈
Stars: ✭ 27 (-30.77%)
Mutual labels:  korean, hangul
type-hangul
⌨️ 한글 타이핑 효과 라이브러리
Stars: ✭ 80 (+105.13%)
Mutual labels:  korean, hangul
ChangeNumbersJs
Tiny Library for change number from a language in other language.
Stars: ✭ 14 (-64.1%)
Mutual labels:  number
Random-Number-Generator
A clean, simple random number generator for Android. Downloaded 180,000+ times and rated 2,000+ times on Google Play with 4.7+ average rating.
Stars: ✭ 30 (-23.08%)
Mutual labels:  number
ark-pixel-font
Open source Pan-CJK pixel font / 开源的泛中日韩像素字体
Stars: ✭ 1,767 (+4430.77%)
Mutual labels:  korean
ibus-hanjp
An Input method that enables to write Japanese script by typing its pronunciation in Korean hangul script.
Stars: ✭ 20 (-48.72%)
Mutual labels:  hangul
hangul-search-js
🇰🇷 Simple Korean text search module
Stars: ✭ 22 (-43.59%)
Mutual labels:  korean
klay
KLAY - Korean Language AnalYzer (한국어 형태소 분석기)
Stars: ✭ 19 (-51.28%)
Mutual labels:  korean
slack-emoji-kr
한글을 활용한 슬랙 커스텀 이모지
Stars: ✭ 33 (-15.38%)
Mutual labels:  korean
koshort
(deprecated) 🐱 koshort is a Python package for Korean internet spoken language crawling and processing... or maybe Korean domestic cat.
Stars: ✭ 62 (+58.97%)
Mutual labels:  korean
SuperSocketLite
SuperSocket 1.6 버전의 .NET Core 포팅
Stars: ✭ 48 (+23.08%)
Mutual labels:  korean
hacktoberfestkorea
Hacktoberfest Korea site
Stars: ✭ 49 (+25.64%)
Mutual labels:  korean
lrng
Linux Random Number Generator
Stars: ✭ 57 (+46.15%)
Mutual labels:  number
nuna
(Our virtual) nuna language details
Stars: ✭ 55 (+41.03%)
Mutual labels:  hangul

kor-to-number.js

한글로 적힌 한국어 수사를 숫자로 변환하는 자바스크립트 라이브러리입니다.

설치

npm install kor-to-number

사용법

const { extractNumber } = require('kor-to-number');

// 숫자
extractNumber('42');  // [42, '']
extractNumber('36.5도');  // [36.5, '도']

// 한자어 수사
extractNumber('삼백육십오');  // [365, '']
extractNumber('이천이십일년');  // [2021, '년']

// 숫자 혼용
extractNumber('1만2천 봉');  // [12000, '봉']
extractNumber('21억 4748만 3648');  // [2147483648, '']

// 순우리말 수사
extractNumber('아흔아홉');  // [99, '']
extractNumber('스무 날');  // [20, '날']
extractNumber('백한 마리');  // [101, '마리']

API

extractNumber(word: string, format?: formatType[]): [number, string]

문자열의 앞부분에서 한자어 수사, 고유어 수사, 숫자 등이 포함된 부분을 떼어냅니다.

반환값은 해석된 수 및 나머지 부분으로 이루어진 길이 2의 배열입니다.

해석에 실패한 경우 반환값의 첫번째 요소는 NaN이 되고 두번째 요소는 입력 문자열이 됩니다.

format 배열로 사용할 형식을 지정할 수 있습니다. format 인수를 비워두는 경우 모든 형식을 전부 사용합니다.

type formatType = "숫자" | "숫자혼용" | "한자어" | "순우리말"

지원되는 형식은 다음과 같습니다.

  • "숫자"
    • 쉼표로 구분된 인도-아라비아 숫자
      • 예: 0.12, +12,345,678.900
    • 지수 표기법
      • 예: −1.602e−19
  • "한자어"
    • 예: 일억 이천삼백사십오만 육천칠백팔십구
  • "숫자혼용"
    • 십의 자리
      • 예: 1억 2천3백4십5만 6천7백8십9
    • 만의 자리
      • 예: 1억 2345만 6789
  • "순우리말"
    • 명사
      • 예: 하나, 둘, 셋, 열, 스물셋, 천이백서른넷
    • 관형사
      • 예: 한 명, 열두 명, 백육십세 명

한자어 수사에 부호(+, -)를 표시하려면 '플러스' 또는 '마이너스'를 앞에 붙입니다.

  • 예: 플러스 만 원, 마이너스 삼십 도

extractAndProcessNumber<T>(word: string, mapper: Mapper<T>, format?: formatType[]): T | null

문자열의 앞부분에서 한자어 수사, 고유어 수사, 숫자 등이 포함된 부분과 나머지 부분으로 분리하여 가공합니다.

분석이 성공하면 분석 중간 결과 중 남은 문자열이 가장 짧은 것을 최종 분석으로 채택하고, 그것을 mapper로 가공한 결과를 반환합니다.

분석에 실패한 경우는 null이 반환됩니다.

type Mapper<T> = (analysis: Analysis) => T | null

분석 도중에 중간 결과를 보고 가공하거나 기각할 수 있습니다.

가공한 결과는 이 분석이 최종적으로 채택될 경우 반환값으로 사용됩니다.

이 분석을 기각하려면 null을 반환합니다. 기각된 분석은 최종 분석으로 채택되지 않습니다.

type Analysis = { consumed: string; parsed: number; rest: string }

분석 중간 결과입니다. consumed는 지금까지 분석한 문자열, parsed는 분석 결과, rest는 남은 문자열입니다.

라이센스

이 라이브러리는 MIT 라이센스 아래 자유롭게 배포 가능합니다.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].