自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

推薦幾個不錯的字符串處理庫

開發(fā) 后端
處理字符串可能是一項繁瑣的工作,因為有許多不同的用例。字符串操作庫使實現(xiàn)復雜的字符串操作變得很容易,而且還考慮到一個給定問題的所有可能的使用情況。

[[419641]]

處理字符串可能是一項繁瑣的工作,因為有許多不同的用例。

例如,一個簡單的任務,如將字符串轉換為駱駝字母,可能需要幾行代碼來實現(xiàn)最終目標,比如我們舉個例子:

  1. function camelize(str) { 
  2.   return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) { 
  3.     if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces 
  4.     return index === 0 ? match.toLowerCase() : match.toUpperCase(); 
  5.   }); 

上面的代碼片段是StackOverflow中投票最多的答案。但這也不能解決字符串為---Foo---bAr---的情況。

StackOverflow - demo編者導語

這就是字符串操作庫的用武之地。

字符串操作庫使實現(xiàn)復雜的字符串操作變得很容易,而且還考慮到一個給定問題的所有可能的使用情況。

這對你來說很有幫助,因為你只需要調用一個方法就能得到一個有效的解決方案。

讓我們來看看幾個JavaScript的字符串操作庫:

  • String.js
  • Voca
  • Stringz
  • Underscore String
  • Anchorme

一、String.js

該庫是一個輕量級的(大小小于 5 kb的)JavaScript庫,為瀏覽器或Node.js提供額外的String方法。

安裝

  1. npm i string 

值得注意的方法

between(left, right)

在左右兩個字符串之間提取一個字符串。當試圖獲得HTML中兩個標簽之間的元素時,可以使用這個方法。

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

camelize()

移除任何下劃線或破折號,并將字符串轉換為駱駝的大小寫。

這個函數(shù)可以用來解決本文開頭提到的問題。

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

humanize()

將輸入的內容轉化為對人友好的形式。

這個功能從頭開始實現(xiàn),肯定需要相當多的代碼行。

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

stripPunctuation()

剝離給定字符串中所有的標點符號。

如果你從頭開始實現(xiàn)這個功能,很有可能會漏掉一個標點符號。

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

更多的方法,參考下面的鏈接:

https://github.com/jprichardson/string.js

二、Voca

Voca是一個JavaScript字符串操作庫。Voca庫中提供了改變大小寫、修剪、填充、審美化、截斷、轉義和其他有用的字符串操作方法。

為了減少應用程序的構建,模塊化設計允許你加載完整的庫或特定功能。該庫已經過完整的測試,有完善的文檔,并提供長期支持。

安裝

  1. npm i voca 

值得注意的方法

Camel Case(String data)

將數(shù)據(jù)轉換為駱駝的大小寫。

  1. var v = require('voca'); 
  2. v.camelCase('foo Bar'); 
  3. // => 'fooBar' 
  4. v.camelCase('FooBar'); 
  5. // => 'fooBar' 
  6. v.camelCase('---Foo---bAr---'); 
  7. // => 'fooBar' 

Latinise(String data)

通過刪除變音符對數(shù)據(jù)進行拉丁化處理。

  1. var v = require('voca'); 
  2. v.latinise('cafe\u0301'); // or 'café' 
  3. // => 'cafe' 
  4. v.latinise('août décembre'); 
  5. // => 'aout decembre' 
  6. v.latinise('как прекрасен этот мир'); 
  7. // => 'kak prekrasen etot mir' 

isAlphaDigit(String data)

檢查數(shù)據(jù)是否只包含字母和數(shù)字字符。(字母數(shù)字)

  1. var v = require('voca'); 
  2. v.isAlphaDigit('year2020'); 
  3. // => true 
  4. v.isAlphaDigit('1448'); 
  5. // => true 
  6. v.isAlphaDigit('40-20'); 
  7. // => false 

CountWords(String data)

計算數(shù)據(jù)中的字數(shù):

  1. var v = require('voca'); 
  2. v.countWords('gravity can cross dimensions'); 
  3. // => 4 
  4. v.countWords('GravityCanCrossDimensions'); 
  5. // => 4 
  6. v.countWords('Gravity - can cross dimensions!'); 
  7. // => 4 

更多的方法,參考下面的鏈接:

https://vocajs.com/#

三、Anchorme.js

這是一個微小的、快速的Javascript庫,有助于檢測文本中的鏈接URLs or Emails,并將其轉換為可點擊的HTML錨鏈接。

它有以下幾個優(yōu)點:

  • 它是高度敏感的,誤報率最低。
  • 它根據(jù)完整的IANA列表驗證URL和Emails。
  • 驗證端口號(如果存在)。
  • 驗證IP八位數(shù)(如果存在)。
  • 對非拉丁字母的URLs起作用。

安裝

  1. npm i voca 

使用方法

  1. import anchorme from "anchorme";  
  2. //or  
  3. //var anchorme = require("anchorme").default
  4. const input = "some text with a link.com";  
  5. const resultA = anchorme(input); 
  6. //some text with a <a href="http://link.com">link.com</a> 

你可以傳入額外的擴展來進一步定制該功能。

四、Underscore String

Underscore是JavaScript的字符串操作擴展,它為你提供了幾個有用的功能:capitalize、clean、count、escapeHTML、unescapeHTML、insert、startsWith、 endsWith、titleize、truncate、trim等等。

安裝

  1. npm install underscore.string 

值得注意的方法

numberFormat(number)

將數(shù)字格式化為具有小數(shù)和順序分隔的字符串。

  1. var _ = require("underscore.string"); 
  2. _.numberFormat(1000, 3) 
  3. => "1,000.000" 
  4. _.numberFormat(123456789.123, 5, '.'','); 
  5. => "123,456,789.12300" 

chop(string, step)

通過刪除變音符對數(shù)據(jù)進行拉丁化處理。

  1. var v = require('voca'); 
  2. v.latinise('cafe\u0301'); // or 'café' 
  3. // => 'cafe' 
  4. v.latinise('août décembre'); 
  5. // => 'aout decembre' 
  6. v.latinise('как прекрасен этот мир'); 
  7. // => 'kak prekrasen etot mir' 

isAlphaDigit(String data)

將給定的字符串切成碎片

  1. var _ = require("underscore.string"); 
  2. _.chop('whitespace', 3); 
  3. => ['whi','tes','pac','e'

更多的方法,參考下面的鏈接:

http://gabceb.github.io/underscore.string.site/#chop

五、Stringz

這個庫的主要亮點是它能識別unicode。如果你運行下面這段代碼,輸出將是2。

  1. "🤔".length 
  2. // -> 2 

至于為什么長度是2,可以在這里閱讀更多關于JavaScript unicode代碼問題的信息。

https://mathiasbynens.be/notes/javascript-unicode

安裝

  1. npm install stringz 

值得注意的方法

limit(string, limit, padString, padPosition)

將字符串限制在一個給定的寬度。

  1. const stringz = require('stringz'); 
  2. // Truncate
  3. stringz.limit('Life’s like a box of chocolates.', 20);  
  4. // "Life's like a box of" 
  5. // Pad: 
  6. stringz.limit('Everybody loves emojis!', 26, '💩');  
  7. // "Everybody loves emojis!💩💩💩" 
  8. stringz.limit('What are you looking at?', 30, '+''left');  
  9. // "++++++What are you looking at?" 
  10. // Unicode Aware: 
  11. stringz.limit('🤔🤔🤔', 2);  
  12. // "🤔🤔" 
  13. stringz.limit('👍🏽👍🏽', 4, '👍🏽');  
  14. // "👍🏽👍🏽👍🏽👍🏽" 

toArray(string)

將字符串轉換為數(shù)組。

  1. const stringz = require('stringz'); 
  2. stringz.toArray('abc'); 
  3. // ['a','b','c'
  4. //Unicode aware 
  5. stringz.toArray('👍🏽🍆🌮'); 
  6. // ['👍🏽''🍆''🌮'

更多的方法,參考下面的鏈接:

https://github.com/sallar/stringz

 

責任編輯:姜華 來源: 天天Up
相關推薦

2024-12-16 09:00:00

數(shù)據(jù)庫開發(fā)

2020-05-12 08:53:15

JavaScript字符串處理庫

2010-11-26 09:51:54

MySQL字符串

2013-12-12 17:08:24

Lua字符串

2010-06-04 14:59:06

MySQL數(shù)據(jù)庫

2010-05-25 15:58:45

MySQL連接字符串

2010-07-14 16:35:52

Perl字符串處理函數(shù)

2010-08-04 11:23:15

Flex字符串

2010-11-26 11:20:31

MySQL字符串處理函

2019-08-12 14:25:09

編程算法PythonJavaScript

2023-10-18 07:55:41

Python字符串

2024-12-30 07:10:00

Linux服務器管理工具服務器

2009-11-26 16:26:32

PHP字符串mbstr

2016-12-30 13:32:24

字符串算法代碼

2010-07-19 15:07:46

Perl字符串處理函數(shù)

2010-10-09 11:54:46

MySQL字符串

2010-01-13 15:12:04

VB.NET字符串合并

2016-12-30 13:16:51

字符串算法代碼

2011-08-09 16:52:24

2010-09-09 11:48:00

SQL函數(shù)字符串
點贊
收藏

51CTO技術棧公眾號