Prepare repository for merge
This commit is contained in:
32
javascript/snippets/word-wrap.md
Normal file
32
javascript/snippets/word-wrap.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Word wrap string
|
||||
type: snippet
|
||||
tags: [string,regexp]
|
||||
cover: white-tablet
|
||||
dateModified: 2020-10-22T20:24:44+03:00
|
||||
---
|
||||
|
||||
Wraps a string to a given number of characters using a string break character.
|
||||
|
||||
- Use `String.prototype.replace()` and a regular expression to insert a given break character at the nearest whitespace of `max` characters.
|
||||
- Omit the third argument, `br`, to use the default value of `'\n'`.
|
||||
|
||||
```js
|
||||
const wordWrap = (str, max, br = '\n') => str.replace(
|
||||
new RegExp(`(?![^\\n]{1,${max}}$)([^\\n]{1,${max}})\\s`, 'g'), '$1' + br
|
||||
);
|
||||
```
|
||||
|
||||
```js
|
||||
wordWrap(
|
||||
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus.',
|
||||
32
|
||||
);
|
||||
// 'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit.\nFusce tempus.'
|
||||
wordWrap(
|
||||
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus.',
|
||||
32,
|
||||
'\r\n'
|
||||
);
|
||||
// 'Lorem ipsum dolor sit amet,\r\nconsectetur adipiscing elit.\r\nFusce tempus.'
|
||||
```
|
||||
Reference in New Issue
Block a user