Recognizing newline character in regular expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg67537] Recognizing newline character in regular expressions
- From: "D.C.Grady at gmail.com" <D.C.Grady at gmail.com>
- Date: Fri, 30 Jun 2006 04:14:09 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I'm having trouble getting Mathematica to find the newline character in
an input string. For example,
dataString = " 0.0000 0.00 0.0000 1.00 2
0.0000 11.97 -131.00 1.00 1
0.0000 3.97 -134.00 1.00 1
0.1597 0.00 0.0251 1.00 2
0.1597 11.97 -130.00 1.00 1
0.1597 3.97 -134.00 1.00 1
1.4861 19.47 0.0000 1.00 -1
2.7083 0.00 0.3393 1.00 2
2.7083 11.97 -127.00 1.00 1";
I would like to write a function that would take a set of data values
as a string in this sort of format and replace all the line breaks with
some other string, say "*". So I tried
In[53]:=
StringReplace[dataString,RegularExpression["\n"]\[Rule]"*"]
Out[53]=
0.0000 0.00 0.0000 1.00 2 0.0000 11.97 -131.00 1.00 1
\
0.0000 3.97 -134.00 1.00 1 0.1597 0.00 0.0251 1.00 2
0.1597 \
11.97 -130.00 1.00 1 0.1597 3.97 -134.00 1.00 1
1.4861 \
19.47 0.0000 1.00 -1 2.7083 0.00 0.3393 1.00 2 2.7083
11.97 \
-127.00 1.00 1
which unfortunately don't to work. I've also tried matching
RegularExpression["\\n"]
EndOfLine
StringExpression[\[NewLine]]
none of which seem to work. The problem appears to be that Mathematica
is automatically stripping newline characters out of the input string;
this occurs even if I use the delayed evaluation assignment
dataString:= ...
Does anyone have any ideas? What's particularly aggravating is that if
you look at the cell expression for the dataString cell, you can see
that there are "\n" characters present in the string, and using this
same approach works on the data with no problems when using a text
processor that supports regular expressions.