find the first approximate occurrences of a string in another string - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Names and Strings : StringTools Package : Pattern Matching : StringTools/HammingSearch

StringTools[HammingSearch] - find the first approximate occurrences of a string in another string

StringTools[HammingSearchAll] - find all approximate occurrences of a string in another string

Calling Sequence

HammingSearch( pattern, text, hd )

HammingSearchAll( pattern, text, hd )

Parameters

pattern

-

string

text

-

string

hd

-

Hamming distance

Description

• 

The HammingSearch(pattern, text, hd) command locates the first occurrence of a substring of the string text that is close to the string pattern in terms of its Hamming distance from pattern. Specifically, it locates the first such substring whose Hamming distance from pattern is less than or equal to hd. It returns the offset of the occurrence found, or the value 0 if there is no substring of text that is within Hamming distance hd of pattern.

• 

The HammingSearchAll(pattern, text, hd) command locates all occurrences of substrings of the string text that are within Hamming distance hd of the string pattern. An expression sequence of pairs of the form offset,dist is returned, where offset is the offset of the match, and dist is the Hamming distance of that match to the string pattern.

• 

Note that for hd=0, proximity searching degenerates into exact searching, for which StringTools[Search] and StringTools[SearchAll] provide faster algorithms.

• 

Since small Hamming distance bounds hd are most useful in practice, the algorithm is optimized for this case. Furthermore, if lengthpatternhd, then every possible substring of text with length equal to the length of pattern matches pattern.

• 

For approximate searching using the Levenshtein metric (instead of the Hamming metric), see the StringTools[ApproximateSearch] help page.

Examples

withStringTools:

HammingSearchfoo,defoe,0

0

(1)

HammingSearchfoo,defoe,1

3

(2)

HammingSearchfoo,defoe,2

2

(3)

HammingSearchfoo,defoe,3

1

(4)

HammingSearchfoo,defoe,4

1

(5)

HammingSearchgataa,cagataagagaa,2

3

(6)

HammingSearchAllgataa,cagataagagaa,2

3,0,8,1

(7)

See Also

searchtext, string, StringTools, StringTools[ApproximateSearch], StringTools[ApproximateSearchAll], StringTools[HammingDistance], StringTools[Search], StringTools[SearchAll]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam