@reskit/number
TypeScript icon, indicating that this package has built-in type declarations

1.3.1 • Public • Published

Install

Install @reskit/number by pnpm

pnpm add @reskit/number

Setup

import { extractNumber } from "@reskit/number";

const result = extractNumber("The numbers are: 1. 3030.222 and 899.90");

The kit will extract number from text, console will output

[1, 3030.222, 899.9]

Localized

Before use @reskit/number to extract localized number, you should set localized data.

At current version , we only have build in chinese data

import { extractNumber, updateLocalized, replaceNumber } from "@reskit/number";
import { zhLocalize, zhAlgorithm, createZhRegexp } from "@reskit/number";

updateLocalized(
  {
    ...zhLocalize,
    regexp: createZhRegexp(),
  },
  zhAlgorithm
);

After prepared, run a test demo

const result = extractNumber(
  "我想明天中午十二点和三个人走1千多米,花费十七点五万元,有百分之四十的概率温度在二十三摄氏度"
);

console.info(result);

The console will output:

[12, 3, 1000, 175000, 0.4, 23]

Functions

Extract Decimal

const result = extractNumber("整个路程有1.2千米");

The console will output:

result: [1200]

Extract Fraction

const result = extractNumber("这里有四分之三的人在说活");

The console will output:

result: [0.75]

Extract Negative Number

const result = extractNumber("答案是负的一又十分之四");

The console will output:

result: [-1.4]

Keep raw text

const result = extractNumber(
  "我想订明天中午十二点的餐馆,三个人,走路1千多米能到,十七点五万元以内,预留手机号为18619994211,明天二十三摄氏度",
  false
);

The console will output:

result: ["十二", "", "1千", "十七点五万", "18619994211", "二十三"]

Just replace number

const result = replaceNumber("造价在十七点五万元以内");

The console will output:

result: 造价在175000元以内

Others

Welcome to create PR and make reskit/number support your country's language!

Package Sidebar

Install

npm i @reskit/number

Weekly Downloads

0

Version

1.3.1

License

Apache-2.0

Unpacked Size

15.1 kB

Total Files

9

Last publish

Collaborators

  • simumn