VS 2005 RegEx - Remove '; (anything):' And Replace It With A Single Comma?
Mar 18, 2009I have this text:
[Code]...
How to remove '; (anything):' and replace it with a single comma? I am sure RegEx can do it...
I have this text:
[Code]...
How to remove '; (anything):' and replace it with a single comma? I am sure RegEx can do it...
I am trying to filter out all unwanted characters from a string. All I want in the string is letters A-Z, numbers 0-9 as well as comma (,) plus (+) and quotes (").I figured how to do the letters and numbers, but the 3 special characters are giving me a problem. I also tried with the Chr(34) equivelant for the " sign, but no luck, as and " or , messes up the way the code is read. Here�s what I have so far, but it only works for A-Z and 0-9:
STR = System.Text.RegularExpressions.Regex.Replace(STR, "[^A-Z, 0-9, Chr(43) ]", "")
give me a working regex expression (C#/VB.NET) that can remove single line comments from a SQL statement ?I mean these comments:
-- This is a comment
not those
/* this is a comment */
because I already can handle the star comments.I have a made a little parser that removes those comments when they are at the start of the line, but they can also be somewhere after code or worse, in a SQL-string 'hello --Test -- World' Those comments should also be removed (except those in a SQL string of course - if possible).Surprisingly I didn't got the regex working. I would have assumed the star comments to be more difficult, but actually, they aren't.
As per request, here my code to remove /**/-style comments (In order to have it ignore SQL-Style strings, you have to subsitute strings with a uniqueidentifier (i used 4 concated), then apply the comment-removal, then apply string-backsubstitution.
static string RemoveCstyleComments(string strInput)
{
string strPattern = @"/[*][wds]+[*]/";
//strPattern = @"/*.*?*/"; // Doesn't work
[code]....
I have the following string [custID] = 'A99999999' I am trying the following to remove the square brackets and the single quotes Regex.Replace(sql, "/[[]']+/g", " ") but that's not working. I keep getting the same results Note: sql is a variable holding the string above. I want the result to be
View 5 RepliesI'm trying to parse csv file with VB.NET.csv files contains value like 0,"1,2,3",4 which splits in 5 instead of 3. There are many examples with other languages in Stockoverflow but I can't implement it in VB.NET.Here is my code so far but it doesn't work...
Dim t As String() = Regex.Split(str(i), ",(?=([^""]*""[^""]*"")*[^""]*$)")
I am having an issue where I am using regex.Replace to replace part of a string. The basic idea is that I want to capture the beginning of the string then replace the end of the string with a value from code. For an example pretend I have a string that says "Test Number " followed by number and I want to increment that number. I capture the "Test Number " but when I try to concatenate that capture with the new number it treats the capture ($1) as a literal and replaces the entire string with $1[new number].
[code]...
This will output "We are on Test Number 2", as expected. how I can use a variable in the replacement string portion of the Regex.Replace when including a captured group?
I'm having a little trouble with this... I have a Session variable which contains a string of comma separated ID's which needs to be passed to a stored procedure but if it is more than 8000 characters, it needs to be split into more comma separated strings. For example;
[Code]...
I am trying to think of a regex replace to replace double quotes with nothing. Example:
hello("hi there") would become hello(hi there)
"hi" would become hi
"example "3" would become example "3
-edit Maybe an easier way to explain this is, replace all " that do not have a backslash before them.
I'm creating a program in VB.NET to output multiple images. Some images will have the same file name. If there is multiple files with the same name I want to add "_1_" to the end of the file name. If the "_1_" file already exists I want to increment the 1 to be "_2_". If this file already exists I want to continue incrementing the number ultil it doesn't exist. So for example "filename", filename_1_", "filename_2_", etc. Here is the code that I have tried
[Code]...
I use SqlParameters when executing database statements. I know that I can replace a single quote with two single quotes... but in the past SqlParameters took care of this for me. I have two projects.. in one, the SqlParameter does this and it handles single quotes fine, in another, it does not and I'm at a loss why (I even copied and pasted the code):
[Code]...
I have this string just down loaded of a Unix server. I would like to remove the box (0x0A) Unix end line code; then replace it with CR+LF normal ASCII code. Also, I would like to do the replace before I save the data, while it in memory.
View 14 RepliesI have a csv file from which i am getting the data into a table. Example: "ABC",1,"Apple" The requirement is that the strings will be inside the quotas " " and integer will be without quotes. The above line will split into three columns. i am using stream reader class to split the line into columns using line.split(','). It was working fine unfortunately i got a record in a file where there is a comma in between the string quotes like these "ABC,DEF,ghi",2,"Orange". So instead of 3 columns now they are acting as five columns and all the conversion are failing. writing the script in C# which will replace the comma between the quotas into semicolon and don't touch the comma in between the columns.
View 2 RepliesHow could I have streamwriter write a , terminator for every space?
For example if I have a line that reads "Hello World!"
I would like streamwriter to write Hello , World
Given an input string like the following:I, Need, Some, Coffee, Before, I, "Fall, Asleep" I need to split this into parts like so:
I
Need
Some
[code]...
Splitting on the comma character alone is easy enough, but how can I handle the quotationmarks? Regular expressions is not on my strong side, and I have been googling for quite a bit without any good results.
I am reading a csv file in VB.net and saving the line to a SQL database. At a later point in my code, the SQL line is retrieved in the application, and the Split function is used to get 'field' values. The Split is done taking comma as the separator. The application processes many other files (including excel), and the split function is used for all of them. The problem I am now facing is that one of the csv files I read, has a field value that starts with " followed by multiple values separated by a comma and ends with another ". The normal reading of the csv file results in each of those single field values is taken to be a separate value.
An example line is:
Elker,MissB,"Bus, Taxi, Train, Ferry, Parking, Toll",800253
Where there should only be separated to 4 columns, they get separated to 9 columns instead. What I want to do is replaced the commas after 'Bus' and until 'Toll' with a '?' instead. I have tried using Replace, including the overloaded one with starting position, but it ends up replacing ALL the commas in the line with '?'
Attempt 1:
If vstrLine(intStartPos) = "," Then
strRetVal = Replace(vstrLine(intStartPos), ",", "?")
end if
Where vstrLine is Elker,MissB,"Bus, Taxi, Train, Ferry, Parking, Toll",800253
and intStartPos is the first instance of a comma after the "
It returns only the '?' and not the string with 1 comma replaced by '?'
Attempt 2:
If vstrLine(intStartPos) = "," Then
strRetVal = Replace(vstrLine, ",", "?", intStartPos)
end if
It returns a string with all commas replaced with '?'
I am pretty good with perl regular expressions but evidently I am at a loss on why this doesn't work.The code below stores "Person Test" in output variable.
im output As String
Dim userName As String = "Test, Person"
Dim re As New Regex("(w+),s(w+)", RegexOptions.Singleline)
output = re.Replace(userName, "$2 $1")
So why doesn't the following code store "#Test##Person#" in output variable.
Dim output As String
Dim userName As String = "Test, Person"
Dim re As New Regex("(w+),s(w+)")
For Each Match As Match In re.Matches(userName)
output &= "#" & Match.ToString & "#"
Next
I want to combine value become
A,B,C but my coding run the result as
ABC My coding:
& cboxOwner.Text & "' & '" , "' & '" & cboxOwner2.Text & "' , '" & cboxOwner3.Text & "'Any wrong?
I am manually building up a SQL UPDATE statement out of "SET Column = @param," strings. The problem I have is that the last one of these SET statements before the WHERE, should not contain a comma, as that is as syntax error.
So my code looks like this:
Public Sub Update(byval id as Integer, Optional byval col1 as String = Nothing, Optional byval col2 as Integer = -1)
Dim sqlupdateid As SqlParameter
Dim sqlupdatecol1 As SqlParameter
Dim sqlupdatecol2 As SqlParameter
[Code]....
Can anybody suggest a better algorithm to remove the last comma before the WHERE in the SQL statement, keeping in mind that the number of SET statements before it will vary?
As I'm adding a comma after each set, since another one can follow or not follow, so I have to after building up the UPDATE, go find that last comma and remove it.
So it should look like this:
UPDATE dbo.MyTable SET Col1 = @col1, SET Col2 = @col2 WHERE id = @id
I need to build a comma-delimited string from an array.
For i=0 to ubound(arr)
str+= arr(i) & ","
Next i
The trouble is that I end up with an extra comma at the end.
My current method for removing the comma is:
If str<>"" then
Left(str, Len(str) - 1)
End if
But it seems pretty untidy, and non-generic. I have to do this so often, it's become a pain.
I have the following code:
FormatNumber(.Item("Class_RAmt").ToString(), 2)
It able to convert the string to number, but the result is 1,200.00. How can I remove the comma within the number for example, 1200.00 instead of 1,200.00.
I'm using the following VB.net Code to find phone numbers in HTML and make them "clickable":
Regex.Replace(pDisp.Document.Body.innerHTML, "([0-9+ ]{3,6}[s]{1,1}[0123456789 -/]{4,15})", "<a href=http://DIAL/$1>$1</a>")
There appears an issue if the numbers contain white spaces, for example:
089 12233 455
This will be replaced with:
<a href=http://DIAL/089 12233 455>089 12233 455</a>
Is there a way to get
<a href=http://DIAL/08912233455>089 12233 455</a>
instead?
How can I convert [b]xxx[/b] to <strong>xxx</strong> using VB.NET Regex.Replace()?
View 2 RepliesI have a text file like this
4.5 28 Red (T1 ) [1 12.86 53.8] 229111 -28275 198452 -1309 | 11.0 28 Red (2 13.10 04.0) [T1 ] 130611 2948 229111 28275
1.5 28 Blue (T2 ) [1 07.06 59.1] 191611 51225 190456 39339 |
[code].....
I am trying to replace text in my xsl file. I have to replace all the http and https. But I can leave any links that start with <a href>
Ie; http://www.google.com has to replaced. But < a href="google.com">google.com</a> has to remain as it is.
I am using regex to find all the http(s) and a hrefs in the text. I am struck here.
My code is,
Dim href As New Regex("(<a.*?>.*?</a>)", RegexOptions.IgnoreCase)
Dim hrefs As New Regex("http(s)?://([w+?.w+])+([a-zA-Z0-9~!@#$\%^&*()_-=+\/?.:;',]*)?", RegexOptions.IgnoreCase)
[Code].....
I am trying to use Regex.Replace to replace my https. But I am unable to write the evaluate function.
My regex.replace replaces all the values with a single value.
System.Text.RegularExpressions.Regex.Replace(item.Summary.Text, ????, "")
What would I put in the? to get only the domain from a URL: EG [URL] should turn into "Google".
I don't know how the regex works to make it do that. Would it be like "*/*..*" or something?
Dim ab As String = "aaaextBox1.Text = Regex.Replace(TextBox1.Text, "Dim " + ab + " As String", "aab")That is the code I am using now. Problem is that it's output is only "aab".Is there any way to keep the structure, so it would be "Dim aab As String" instead of only "aab"?
View 2 RepliesI need to use RegEx.Replace to replace only certain named groups in my input string.
So I might have a pattern like:
"^(?<NoReplace>.+)(?<FirstPeriod>(d{2})|CM|RM|PM|CN|RN){1}(?<LastPeriod>(d{2})|CM|RM|PM|CN|RN){1}((#(?<NumberFormat>[#,.+-%0]+))*)$"
Tokens such as CM, RM are being replaced using Regex.Replace with a MatchEvaluator. However, this should only be replacing characters in the FirstPeriod and LastPeriod groups.
Example input:
"FIELDCNS 01CM"
Desired output:
[Code]....
Is this possible or am I best just pulling out the parts I want to replace and re-assembling afterwards?
I'm wanting to search a RTB for all X coordinate values and convert them to SI mm units.
I have two issues: 1. My code is stopping after the first instance of match.success, I'm guessing i'm using nextmatch incorrectly? I have also tried matchcollections with no success.
2. I fear once we get it progressing to the next X value, any multiple X values with the same dimension will be replaced with my replace command, causing the new value to be converted again.
Dim MatchObj As Match = Regex.Match(RichTextBox1.Text, "[Xx](?<X>(d*.{1,1}d{1,4}))(s)*")
If MatchObj.Success Then
[Code]....
I am working in VB.Net and trying to use Regex.Replace to format a string I am using to query Sql. What Im going for is to cut out comments "--". I've found that in most cases the below works for what I need.
string = Regex.Replace(command, "--.*
", "")
and
[code].....
I have a long string of HTML code that contains several quotes around objects in the string. I have a Regex.Replace() function to change the "img src" tag, due to the way its stored in a database.
Here is my string: <p><strong><u><font color="#cc0099">RICH TEXT BOLD UNDERLINE. PICTURE TO APPEAR BELOW</font></u></strong></p><p><strong><u><font color="#cc0099"/></u></strong></p><p><img src="/inlineimages/WorkOrder/6/1245981403232.jpg"/> </p><p /><p>W00T!</p>
[Code].....
Notice how the "<font color=" has single quotes around its value, and "<img src=" has single quotes, with a double quote jammed in between?
Also, is there an automated way to go from my initial string, to the "Dim input As String" I created? I had to manually type that out, editing the quotes just to try and make it work.