Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- From: "sloan" <sloan@xxxxxxxxx>
- Date: Tue, 27 Mar 2007 12:27:43 -0400
//quote
I'm not sure why you're using double slashes in your path names as// end quote
VB.Net does not use the \ character as an escape character in strings.
That's the issue. I *don't want* to use the double slashed, and wouldn't
think (since I'm in vb.net on this one , and not c# ) I'd have to use
delimited characters.
But the code breaks .... if I use single slashes.
//quote
Dim filename As String = "c:\wutemp\myfile.txt"//end quote
Dim replaceValue As String = "c:\newFolder"
Dim newFilename As String = Path.Combine(replaceValue,
Path.GetFileName(filename))
That would be an option, but I actually have more complex rules, that RegEx
solves perfectly.
I just used the "change folder name" as a dumbed down example.
I did all this at home in C# , and had it working. I brought it into work
and this project was vb.net , and I converted the code.
<dunawayc@xxxxxxxxx> wrote in message
news:1175012533.361598.190110@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Mar 27, 11:13 am, "sloan" <s...@xxxxxxxxx> wrote:better
I have a fairly simple RegEx code below.
I am given a file name, (which I don't control) , and need to change a
folder name in it.
The code below is choking on the filename not being escaped.
"Unrecognized escape sequence"
While I can escape the findValue and replaceValue,
I don't necessarily control the fileName value. Aka, all I can do is
manually string.Replace the fileName value. (Unless someone knows
simplythan I)
Do I have to do a string.Replace here? ( to make all the \ into \\ )
Or am I missing some trick in vb.net.
----------Start VB.Net code
Dim fileName As String
fileName = "C:\wutemp\myfile.txt" '<< this is given to me, I cannot
"IGNOREsay " filename = "C:\\wutemp\\myfile.txt" "
Dim replaceRegEx As System.Text.RegularExpressions.Regex = New
System.Text.RegularExpressions.Regex(fileName, getRegexOptions())
Dim findValue As String = "\wutemp\"
Dim replaceValue As String = "\newfolder\"
Dim newFileName As String = replaceRegEx.Replace(fileName, findValue,
replaceValue)
Private Function GetRegexOptions() As RegexOptions
Dim options As RegexOptions = New RegexOptions
options = options Or RegexOptions.IgnoreCase
Return options
End Function
PS
This is a repost. But I marked the other post (in .language.vb) as
do not reply here".
..
Why not just use the Path class in the System.IO namespace?
string filename = @"c:\wutemp\myfile.txt";
string replaceValue = @"c:\newfolder";
string newFileName = Path.Combine(replaceValue,
Path.GetFileName(filename));
Chris
.
- Follow-Ups:
- Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- From: Patrice
- Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- References:
- RegEx and Vb.net /// "Unrecognized escape sequence"
- From: sloan
- Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- From: dunawayc
- RegEx and Vb.net /// "Unrecognized escape sequence"
- Prev by Date: Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- Next by Date: Console application will only run on machine where application was compiled
- Previous by thread: Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- Next by thread: Re: RegEx and Vb.net /// "Unrecognized escape sequence"
- Index(es):
Relevant Pages
|