Re: Merging lists if an element in each partially matches?

• To: mathgroup at smc.vnet.net
• Subject: [mg48743] Re: Merging lists if an element in each partially matches?
• From: "Curt Fischer" <crf3 at po.cwru.edu>
• Date: Fri, 11 Jun 2004 23:59:23 -0400 (EDT)
• References: <cabpeo\$ol2\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

Hi Charles,

If you can convert all of your sample names to strings, the following simple
approach might be sufficient--it's hard to tell exactly what you need from

In[1]:=
nameList={"3_78457","3_78457_5"}

Out[1]=
{3_78457,3_78457_5}

In[2]:=
nameList[[1]]

Out[2]=
3_78457

In[3]:=
partialMatchQ[l_String,m_String]:=If[Union[StringPosition[l,m],StringPositio
n[\
m,l]]\[Equal]{},False,True]

In[4]:=
partialMatchQ@@nameList

Out[4]=
True

Charles Koehler wrote:
> Hello,
>
> I typically need to merge separate sets of data into one list.  If
> each file contains the same sample I can join them quickly and easily
> using various merge and sort routines that have been discussed here in
> the  the past, such as myMatch5, etc.  This is great when the sample
> name match exactly, however I am attempting to deal with sample names
> that do not match exactly.  They will differ only in the length of
> name; one list may contain for example a sample name of 3_78457_5 and
> the second may only have 3_78457 or 78457_5.
>
> It should be possible to search the 2 data lists for columns that have
> the largest run of consecutively matching characters, and assume that
> is the correct match.  Would it be possible to develop a similarity
> criteria?  I can see that this type of function would very useful in
> things more important that this.
>
> Any suggestions greatly appreciated.
>
> Sincerely,
>
> Charles Koehler

• Prev by Date: Re: 3D plots from lists
• Next by Date: Creating combinations from a group of sets, PART 2
• Previous by thread: Merging lists if an element in each partially matches?
• Next by thread: Re: Merging lists if an element in each partially matches?