모 르 는 자 바스 크 립 트 문자열 처리 라 이브 러 리 5 개(소결)
9153 단어 JavaScript문자열 처리 라 이브 러 리
문자열 을 사용 하 는 것 은 여러 가지 사례 가 있 기 때문에 번 거 로 운 작업 일 수 있 습 니 다.예 를 들 어 문자열 을 낙타 봉 대소 문자 로 바 꾸 는 간단 한 작업 은 몇 줄 의 코드 가 있어 야 최종 목 표를 달성 할 수 있 습 니 다.
function camelize(str) {
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces
return index === 0 ? match.toLowerCase() : match.toUpperCase();
});
}
위의 코드 세 션 은 StackOverflow 에서 가장 많이 투표 한 답 입 니 다.그러나 이것 도 문자열 이-foo-bar-인 상황 을 해결 하지 못 했다.이것 은 문자열 처리 라 이브 러 리 가 구 할 수 있 는 곳 입 니 다.복잡 한 문자열 작업 을 쉽게 하고 주어진 문제 의 모든 가능 한 사례 를 고려 할 수 있 습 니 다.이것 은 당신 에 게 도움 이 됩 니 다.왜냐하면 당신 은 하나의 방법 만 사용 하면 효과 적 인 해결 방안 을 얻 을 수 있 기 때 문 입 니 다.
자바 스 크 립 트 의 문자열 처리 라 이브 러 리 를 보 여 줍 니 다.
1. String.js
string.js 또는 S 라 고 약칭 하 는 경량급 JavaScript 라 이브 러 리(압축 후 5kb 이하)로 브 라 우 저 나 추가 String 방법 을 제공 하 는 Node.js 입 니 다.
설치 하 다.
npm i string
주의 할 만 한 방법between(left,right)―좌우 문자열 사이 의 문자열 을 추출 합 니 다.HTML 의 두 탭 사이 에서 요 소 를 가 져 오 려 고 시도 할 때 이 방법 을 사용 할 수 있 습 니 다.
var S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s
// 'This is a link'
camelize()―밑줄 이나 접 힌 번 호 를 모두 삭제 하고 문자열 을 낙타 봉 식 대문자 로 변환 합 니 다.이 기능 은 본문 에서 처음에 언급 한 문 제 를 해결 하 는 데 쓸 수 있다.
var S = require('string');
S('---Foo---bAr---').camelize().s;
//'fooBar'
humanize()―입력 을 인성 화 된 형식 으로 전환한다.이 기능 은 처음부터 실현 되 기 시작 하면 틀림없이 상당히 많은 코드 가 필요 할 것 이다.
var S = require('string');
S(' capitalize dash-CamelCase_underscore trim ').humanize().s
//'Capitalize dash camel case underscore trim'
stripPunctuation()―주어진 문자열 의 모든 문장 부 호 를 제거 합 니 다.만약 네가 처음부터 이 기능 을 실현 한다 면 문장 부 호 를 놓 칠 가능성 이 높다.
var S = require('string');
S('My, st[ring] *full* of %punct)').stripPunctuation().s;
//My string full of punct
너 는 이곳 에서 더 많은 방법 을 볼 수 있다.2. Voca
Voca 는 문자열 을 처리 하 는 자 바스 크 립 트 라 이브 러 리 입 니 다.Voca 라 이브 러 리 는 대소 문자 변경,수식,채 우기,탄 화,라틴 화,sprintfy,절단,전의 등 유용 한 함 수 를 제공 합 니 다.모듈 화 디자인 은 응용 프로그램 구축 을 최소 화하 기 위해 전체 라 이브 러 리 나 단일 함 수 를 불 러 올 수 있 습 니 다.이 라 이브 러 리 는 이미 전면적 인 테스트 를 거 쳐 조사 할 만 한 근거 가 있 고 장기 적 인 지 지 를 받 았 다.
설치 하 다.
npm i voca
주의 할 만 한 방법Camel Case(String data)―데 이 터 를 낙타 봉 형식 으로 변환 합 니 다.
var v = require('voca');
v.camelCase('foo Bar');
// => 'fooBar'
v.camelCase('FooBar');
// => 'fooBar'
v.camelCase('---Foo---bAr---');
// => 'fooBar'
Latinise(String data)―변음 기 호 를 삭제 함으로써 데 이 터 를 라틴 화 처리 합 니 다.
var v = require('voca');
v.latinise('cafe\u0301'); // or 'café'
// => 'cafe'
v.latinise('août décembre');
// => 'aout decembre'
v.latinise('как прекрасен этот мир');
// => 'kak prekrasen etot mir'
isAlphaDigit(String data)―데이터 가 알파벳 과 숫자 문자 만 포함 되 어 있 는 지 확인 합 니 다.(알파벳 숫자
var v = require('voca');
v.isAlphaDigit('year2020');
// => true
v.isAlphaDigit('1448');
// => true
v.isAlphaDigit('40-20');
// => false
CountWords(String data)―데이터 의 단어 수 를 계산 합 니 다.
var v = require('voca');
v.countWords('gravity can cross dimensions');
// => 4
v.countWords('GravityCanCrossDimensions');
// => 4
v.countWords('Gravity - can cross dimensions!');
// => 4
EscapeRegExp(String data)―데이터 에 있 는 정규 표현 식 특수 문자-[]/{}()*+?
var v = require('voca');
v.escapeRegExp('(hours)[minutes]{seconds}');
// => '\(hours\)\[minutes\]\{seconds\}'
너 는 이곳 에서 더 많은 정 보 를 볼 수 있다.3. Anchorme.js
이것 은 마이크로 빠 른 자바 script 라 이브 러 리 로 텍스트 의 링크/URL/이메일 을 검사 하고 클릭 가능 한 HTML 닻 링크 로 변환 할 수 있 습 니 다.
npm i anchorme
쓰다
import anchorme from "anchorme";
//
// var anchorme = require("anchorme").default;
const input = "some text with a link.com";
const resultA = anchorme(input);
//some text with a <a href="http://link.com" rel="external nofollow" >link.com</a>
너 는 추가 확장 을 통 해 맞 춤 형 기능 을 추가 할 수 있다.너 는 이곳 에서 더 많은 정 보 를 볼 수 있다.
4. Underscore.string
Underscore.string 은 JavaScript 의 문자열 작업 확장 으로 Underscore.js 와 함께 사용 하거나 사용 하지 않 을 수 있 습 니 다.Underscore.string 은 자 바스 크 립 트 라 이브 러 리 로 문자열 을 편안하게 처리 할 수 있 습 니 다.Prototype.js,Right.js,Underscore 이 계발 한 Underscore.js 확장 입 니 다.
Underscore.string 은 대문자,제거,계수,escapeHTML,unescapeHTML,삽입,맞 춤 법,starts With,ends With,제목 화,편집,절단 등 몇 가지 유용 한 기능 을 제공 합 니 다.
설치 하 다.
npm install underscore.string
주의 할 만 한 방법numberFormat(number)―포맷 숫자.소수점 과 순서 로 구 분 된 문자열 로 숫자 를 포맷 합 니 다.
var _ = require("underscore.string");
_.numberFormat(1000, 3)
=> "1,000.000"
_.numberFormat(123456789.123, 5, '.', ',');
=> "123,456,789.12300"
chop(string,step)―주어진 문자열 을 작은 조각 으로 자 릅 니 다.
var _ = require("underscore.string");
_.chop('whitespace', 3);
=> ['whi','tes','pac','e']
너 는 이곳 에서 더 많은 정 보 를 볼 수 있다.5. Stringz
이 라 이브 러 리 의 주요 하 이 라 이 트 는 유 니 코드 를 지원 하 는 것 이다.다음 코드 를 실행 하면 출력 은 2 입 니 다.
"🤔".length
// -> 2
문자열 의 코드 셀 수 대신 String.length()가 문자열 의 코드 셀 수 를 되 돌려 주기 때 문 입 니 다.자 바스 크 립 트 유 니 코드 문제 에 대한 더 많은 정 보 를 이곳 에서 읽 을 수 있 습 니 다.
설치 하 다.
npm install stringz
주의 할 만 한 방법limit(string,limit,padString,padPosition)―문자열 을 주어진 너비 로 제한 합 니 다.
const stringz = require('stringz');
// Truncate:
stringz.limit('Life's like a box of chocolates.', 20);
// "Life's like a box of"
// Pad:
stringz.limit('Everybody loves emojis!', 26, '💩');
// "Everybody loves emojis!💩💩💩"
stringz.limit('What are you looking at?', 30, '+', 'left');
// "++++++What are you looking at?"
// Unicode Aware:
stringz.limit('🤔🤔🤔', 2);
// "🤔🤔"
stringz.limit('👍🏽👍🏽', 4, '👍🏽');
// "👍🏽👍🏽👍🏽👍🏽"
toArray(string)―문자열 을 배열 로 변환 합 니 다.
const stringz = require('stringz');
stringz.toArray('abc');
// ['a','b','c']
//Unicode aware
stringz.toArray('👍🏽🍆🌮');
// ['👍🏽', '🍆', '🌮']
Stringz 에 대한 더 많은 정 보 를 알 고 싶 으 시 면 이곳 에서 Github 를 방문 하 십시오.출처:blog.bitsrc.io,저자:Mahdhi Rezvi,번역:전단 외국어 정선
모 르 는 자바 스 크 립 트 문자열 처리 라 이브 러 리(소결)5 개 에 대한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 스 크 립 트 문자열 처리 라 이브 러 리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.