JavaScript字符串处理库

一、String.js

     string.js,或者简称为 S,是一个轻量级的JavaScript库(压缩后压缩后小于5kb),用于浏览器或提供额外String方法的Node.js。

//  安装
npm i string

1、between(left, right) ——提取左右串之间的字符串。尝试在HTML中的两个标签之间获取元素时可以使用此方法。

var S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s 
// 'This is a link'

 

2、camelize() ——删除所有下划线或破折号,并将字符串转换成驼峰式大写字母。此功能可用于解决本文开头提到的问题。

var S = require('string');
S('---Foo---bAr---').camelize().s; 
//'fooBar'

3、humanize() ——将输入转换为人性化的形式。这个功能从头开始实现,肯定需要相当多的代码。

var S = require('string');
S('   capitalize dash-CamelCase_underscore trim  ').humanize().s 
//'Capitalize dash camel case underscore trim'

4、stripPunctuation() ——去掉给定字符串中的所有标点符号。如果你从头开始实现此功能,则很有可能会错过标点符号。

var S = require('string');
S('My, st[ring] *full* of %punct)').stripPunctuation().s; 
//My string full of punct

5、dasherize()——将转换后的驼峰式大小写字符串返回为由破折号分隔的字符串

var S = require('string');
S('dataRate').dasherize().s; //'data-rate'
S('CarSpeed').dasherize().s; //'-car-speed'
S('yesWeCan').dasherize().s; //'yes-we-can'
S('backgroundColor').dasherize().s; //'background-color'

6、decodeHTMLEntities()——将 html 实体解码为它们的字符串表示形式。

var S = require('string');
S('Ken Thompson &amp; Dennis Ritchie').decodeHTMLEntities().s; //'Ken Thompson & Dennis Ritchie'
S('3 &lt; 4').decodeHTMLEntities().s; //'3 < 4'

你可以在此处(https://github.com/jprichardson/string.js)查看更多方法。

二、 Voca

        Voca是一个用于处理字符串的JavaScript库。Voca库提供有用的函数来使字符串操作变得轻松自如:更改大小写,修饰,填充,弹化,拉丁化,sprintfy,截断,转义等等。模块化设计允许加载整个库或单个函数以最小化应用程序构建。该库已经过全面测试,有据可查,并得到长期支持。

//   安装
npm i voca

//   引入
import voca from 'voca';

//    使用
voca.kebabCase('goodbye blue sky'); // => 'goodbye-blue-sky'

1、Camel Case(String data)——将数据转换为驼峰格式

var v = require('voca');
v.camelCase('foo Bar');
// => 'fooBar'

v.camelCase('FooBar');
// => 'fooBar'

v.camelCase('---Foo---bAr---');
// => 'fooBar'

2、EscapeRegExp(String data)——转义在数据中的正则表达式特殊字符 -[] / {}()* +? 。 \ ^ $ | 。

var v = require('voca');
v.escapeRegExp('(hours)[minutes]{seconds}');
// => '\(hours\)\[minutes\]\{seconds\}'

3、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

4、codePointAt(String data)——

var v = require('voca');
v.codePointAt('rain', 1);
// => 97, or 0x0061

v.codePointAt('\uD83D\uDE00 is smile', 0); // or '😀 is smile'
// => 128512, or 0x1F600

5、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'

你可以在此处(https://vocajs.com/#)查看更多信息。

三、Anchorme.js

这是一个微型快速Javascript库,可帮助检测文本中的链接/ URL /电子邮件,并将其转换为可单击的HTML锚链接。

  • 它的灵敏度高,误报率最低。
  • 它根据完整的IANA列表验证URL和电子邮件。
  • 验证端口号(如果有)。
  • 验证IP八位字节号(如果存在)。
  • 适用于非拉丁字母URL。
//    安装
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">link.com</a>

你可以在此处(https://alexcorvi.github.io/anchorme.js/)查看更多信息。

四、Stringz

//  安装
npm install stringz

1、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, '👍🏽'); 
// "👍🏽👍🏽👍🏽👍🏽"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值