Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

mention-hashtag

1.1.1 • Public • Published

mention-hashtag

npm npm Love Travis

Extract mentions (@mention) and/or hashtags (#hashtag) from any text

How to use

const extract = require('mention-hashtag')
 
const mentions = extract('Any text with @mention');
// mentions == ['@mention']
 
const hashtags = extract('Any text with #hashtag', '#');
// hashtags == ['#hashtag']
 
const all = extract('Any text with #hashtag and @mention and @othermention', 'all');
// all == { mentions: ['@mention', '@othermention'], hashtags: ['#hashtag'] }

NOTE: The extract of mentions is by default. For extract hashtags, the '#' symbol in second parameter is required.

Options

Exclude repeated tokens

const mentions = extract('Any text with @mention and @mention and @othermention', { unique: true });
// mentions == ['@mention', '@othermention']
 
const hashtags = extract('Any text with #hashtag and #hashtag and #otherhashtag', { unique: true, type: '#' });
// hashtags == ['#hashtag', '#otherhashtag']
 
const all = extract('Any text with #hashtag and #hashtag and @mention and @mention', { unique: true, type: 'all' });
// all == { mentions: ['@mention'], hashtags: ['#hashtag'] }

NOTE: The symbol '#' is communicated in 'type' property of second parameter

Remove '@' and '#' symbols

const mentions = extract('Any text with @mention and @othermention', { symbol: false });
// mentions == ['mention', 'othermention']
 
const hashtags = extract('Any text with #hashtag and #otherhashtag', { symbol: false, type: '#' });
// hashtags == ['hashtag', 'otherhashtag']
 
const all = extract('Any text with #hashtag and @mention', { symbol: false, type: 'all' });
// all == { mentions: ['mention'], hashtags: ['hashtag'] }

Mix

Unique, symbol and type properties are mixables

const mentions = extract('Any text with @mention and @mention and @othermention', { symbol: false, unique: true });
// mentions == ['mention', 'othermention']
 
const hashtags = extract('Any text with #hashtag and #hashtag and #otherhashtag', { symbol: false, unique: true, type: '#' });
// hashtags == ['hashtag', 'otherhashtag']
 
const all = extract('Any text with #hashtag and #hashtag and @mention and @mention', { symbol: false, unique: true, type: 'all' });
// all == { mentions: ['mention'], hashtags: ['hashtag'] }

Run test

$ npm install && npm test

License

MIT © lmfresneda

Install

npm i mention-hashtag

DownloadsWeekly Downloads

44

Version

1.1.1

License

MIT

Unpacked Size

12.2 kB

Total Files

7

Last publish

Collaborators

  • avatar