Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Approximate index

by indapa (Monk)
on Mar 28, 2001 at 05:33 UTC ( [id://67707]=perlquestion: print w/replies, xml ) Need Help??

indapa has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I am searching for indexes of substrings in larger strings. However some of my substrings contain one character insertions/deletions/substitutions. Here is some sample data:
#substring(s) to search for: $substr = "AATGCTCCCCAATGAGGCA"; $substr2 = "TT##CACAAGGAACTTTTTT"; #Search for it in this string: $str = "CTTGAGTTATTAGCTGTTTGCCCCTGGGCAAGTTGTCTCACCTCTCCGTGTTTGTTTCCTCA +CCTATTGGACCAGGCCTATGGTTTTCAAACTGTGTTCCCTGGTGCTCTGAGACTTAGGGAAGGGGAACG +CCCACACTGGCAAGGCTAACACAAGCCGCCATATACCCACCCCACTTCACCCACAGCACCCCCCTTTCT +GTGTCTCATATACTGCGGGCCTATGCGA"; # the second substring is straightforward $pos = index( $string, $substr);
I would like the 2nd substr to match as well, despit having the # insertions.

Perl Cookbook recipe 6.13 discusses this, and suggests using the String:Approx module. However this module returns a list of matches and in scalar context returns the number of sucessful matches.

In my case I need approximate index matching. So the index function will return an answer despite finding an approximate match. Is there such a thing? Or are there other solutions that I am overlooking? Thank you for your help.

Replies are listed 'Best First'.
(tye)Re: Approximate index
by tye (Sage) on Mar 28, 2001 at 05:39 UTC

    String::Approx includes an aindex routine.

            - tye (but my friends call me "Tye")

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://67707]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (6)
As of 2024-04-19 11:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found