String Operations for TypeScript
![npm](https://img.shields.io/npm/dt/@linkdotnet/stringoperations)
This library implements some basic string algorithm as well as data structures for a better way of handling strings.
How to install
npm i @linkdotnet/stringoperations
How to use
Trie
The following example shows how to import the trie and use it afterwards
import { Trie } from '@linkdotnet/stringoperations'
const trie = new Trie()
trie.addWord('Hello')
trie.addWord('Helsinki')
trie.addWord('World')
trie.contains('Hello')
trie.getWordsWithPrefix('Hel')
Rope
The following example shows how to use the rope
import { Rope } from '@linkdotnet/stringoperations'
let rope = Rope.create('Hello ')
rope = rope.concatString('World')
rope.toString()
rope.charAt(2)
Edit-Distances
The following example shows how to use the edit-distances
import { getLongestCommonSubstring, getLevenshteinDistance } from '@linkdotnet/stringoperations'
const longestCommonSubstring = getLongestCommonSubstring('testapps', 'appicontest')
const distance = getLevenshteinDistance('Hello', 'Hallo')
Search
If you want to find all occurrences of a string use the findAll
method. The function implements the Boyer-Moore algorithm with Bad-Character table.
import { contains, findAll } from '@linkdotnet/stringoperations'
const occurrences = findAll('Hello World. Goodbye World', 'World')
const hasHit = contains('Hello World. Goodbye World', 'World')
Currently implemented algorithms
Edit-Distances
- Longest Common Subsequence
- Longest Common Substring
- Levenshtein Distance
- Hamming Distance
Data-Structures
Search