Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laktek/extract-values
A simple helper to extract values from a string based on a pattern.
https://github.com/laktek/extract-values
Last synced: 20 days ago
JSON representation
A simple helper to extract values from a string based on a pattern.
- Host: GitHub
- URL: https://github.com/laktek/extract-values
- Owner: laktek
- Archived: true
- Created: 2012-10-04T01:52:42.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2016-06-29T20:30:22.000Z (almost 8 years ago)
- Last Synced: 2024-05-19T03:21:33.003Z (about 1 month ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 306
- Watchers: 20
- Forks: 25
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
Lists
- awesome-stars - laktek/extract-values - A simple helper to extract values from a string based on a pattern. (JavaScript)
- awesome-stars - extract-values
- awesome-stars - extract-values - A simple helper to extract values from a string based on a pattern. (JavaScript)
README
## ExtractValues
This is a simple helper to extract values from a string based on a pattern.
### Examples
```javascript
extractValues("/2012/08/12/test.html", "/{year}/{month}/{day}/{title}.html")
>> { "year": "2012", "month": "08", "day": "12", "title": "test" }extractValues("John Doe (http://example.com)", "{name} <{email}> ({url})")
>> {"name": "John Doe", "email": "[email protected]", "url": "http://example.com" }extractValues("from 4th October to 10th October", "from `from` to `to`", { whitespace: 1, delimiters: ["`", "`"] })
>> {"from": "4th October", "to": "10th October" }extractValues("Convert 1500 Grams to Kilograms", "convert {quantity} {from_unit} to {to_unit}", { lowercase: true })
>> {"quantity": "1500", "from_unit": "grams", "to_unit": "kilograms" }]```
### How to Use
#### Install as a NPM package
```
npm install extract-values
```* Then `require` in your project.
```javascript
var extractValues = require("extract-values");
```#### Use with web apps (in Browser)
```html
var parsedDate = extractValues("/2012/08/12/test.html", "/{year}/{month}/{day}/{title}.html")
//{ "year": "2012", "month": "08", "day": "12", "title": "test" }
```
### Unit Tests
Run `node tests.js`.
```shell
$ node tests.js
14 tests pass
```### Options
**whitespace** - normalizes the whitespace in the input string, so it can be aligned with the given pattern. You can define the number of continous whitespaces to contain in the string. Making it zero (0) will remove all whitespaces.
**lowercase** - converts the input string to lowercase before matching.
**delimiters** - If specify the delimiters used in the pattern to define the values. Default delimiters are `{` and `}`.
### Licence
[MIT LICENSE](https://github.com/laktek/punch/blob/master/LICENSE)