You can just pass a Regex object to filter: filter(r"a.*b.*c"i, map(chomp,open(readlines,"/usr/share/dict/words")))
This gives all dictionary words containing "a", "b" and "c" in order but not contiguous. On Thu, Dec 3, 2015 at 3:29 PM, David P. Sanders <[email protected]> wrote: > > > El jueves, 3 de diciembre de 2015, 13:54:01 (UTC-6), Erik Schnetter > escribió: >> >> You are looking for `filter`: >> >> filter(line->match(r"parameter", line), rLines) >> > > Apparently this needs to be > > filter(line->ismatch(r"3", line) != nothing, rLines) > > (replace "match" with "ismatch" to get a Boolean expression instead of a > RegexMatch object). > > >> >> -erik >> >> On Thu, Dec 3, 2015 at 2:52 PM, Jason McConochie <[email protected]> >> wrote: >> >>> Is there grep for an Array of AbstractStrings? See code below >>> >>> >>> # A. Read a file into memory (nLines pre-determined) >>> >>> fID=open(fName) >>> >>> iLine=0; >>> >>> rLines=Array(ASCIIString,nLines); >>> >>> while !eof(fID) >>> >>> iLine+=1 >>> >>> rLines[iLine]=readline(fID) >>> >>> end >>> >>> >>> # B. Find all strings in rLines with "parameter" >>> >>> ???? Is something like this possible? >>> >>> indices=grep(rLines,r"parameter") >>> >>> >>> >>> >> >> >> -- >> Erik Schnetter <[email protected]> >> http://www.perimeterinstitute.ca/personal/eschnetter/ >> >
