Re: Split a file into multiple files using a pattern

*To*: mathgroup at smc.vnet.net*Subject*: [mg69722] Re: Split a file into multiple files using a pattern*From*: dh <dh at metrohm.ch>*Date*: Thu, 21 Sep 2006 07:31:29 -0400 (EDT)*References*: <eeqqnq$ooo$1@smc.vnet.net>

Hi Raj, this can best be done using regular expressions. Toward this aim, assume that your data is in the list dat. We convert this to a string, make the necessary replacements, split the string and transform it back to an expression. Thereby we introduce a marker "@" to indicate where the string should be split: t=ToString[dat]; t=StringReplace[t,RegularExpression[",?(\\s*9,){3,300}"]->"}@{"]; t=StringSplit[t,"@"] //ToExpression; The elements of t contain now the data to be written to the different files. Daniel Raj wrote: > hi! > > COuld somebody please tell me how can I do this in Mathematica: I have > a file of numbers containing -999.99 in places where there is missing > data. > I want to split the file into a number of files based on the criterion > that the number of consecutive - 999.99 are more than 18 . > > For example... if the file is of the form > > {1,2,3,4,{-999.99 repeated 18 or more times},5,6,7,8} > then I want the output to be file1.txt which contains {1,2,3,4} and > file2.txt which contains {5,6,7,8} > > Thanks, > > Raj >