RE: removing letters from alphanumeric data
- To: mathgroup at smc.vnet.net
- Subject: [mg48401] RE: [mg48377] removing letters from alphanumeric data
- From: David.Annetts at csiro.au
- Date: Fri, 28 May 2004 00:50:29 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hi Charles > I am able to find and read in from a data header a particular variable > value, my difficulty is in my attempt to drop the letters that follow > the number I need to retrieve. > > For example, I'll use Find to locate the position of the variable > "Temperature" and then store the value that follows it, however there > is generally a "C" or something after the temperature value, e.g. > "45C". All I need is the value 45. 1. Import your data as strings 2. Apply StringReplace[]; to get rid of the offending character(s) 3. Read numbers from your "edited" strings. For example, after generating some test data & dumping it to file via test = StringJoin[ToString[#], "C"] & /@ Range[-10, 10]; Export["test.txt", test, "List"]; We can try str = Import["test.txt", "List"] str = StringReplace[#, {"C" -> ""}] & /@ str num = Read[StringToStream[#], Number] & /@ str Head[#] & /@ {First@str, First@num} Statement is not necessary, it just shows we've converted the strings to numbers, even though in the front end, they look the same. > Also, If there is no entry at all is there a way to put a placeholder > value in it place, instead a Null. If I understand properly, just replace "Null" with your desired placeholder. Following on from the above example, newt = Join[str, {Null}, str] repl = newt /. Null -> "*" Regards, Dave. ========================================== Dr. David Annetts EM Modelling Analyst CSIRO DEM Tel: +612 9490 5416 North Ryde Fax: +612 9490 5467 Australia David.Annetts at csiro.au ===========================================