Finding And Replacing Certain Characters Within A String?
Aug 8, 2010
I am working on a program and for one of my features, I need to replace all spaces in a program with - (dashes.) Is there a way in which I can do this?
Example:
Start String = "The rain in Spain falls mainly in the plain."
End String = "The-rain-in-Spain-falls-mainly-in-the-plain."
I've got an issue with a program I am writing. The specific issue is replacing characters in a parent string by finding, and matching, specific characters within it that are parsed from an external xml file. It's for a chat-like client.Here's the 2 classes I am using to pull the emote strings, titles, and id from external XML:
Imports System.Text.RegularExpressions Imports System.Xml.Serialization Public Class emote
I have a binary file. If I look at it with a hex editor, the first values are:208, 207, 17, 224, 161, 177, 26, 225, 0, 0, 0, ... etc.It has a length of 330240 bytes I have tried to open it and read it into a string so I can manipulate it and write it back. No matter what I use, I either don't get the correct number of bytes or the values in the string are incorrect. The most common error results in the first values being: 63, 63, 17, 63, 63, 26, 0, 0, 0 .... etc.It is interesting that it appears that any value > 63 becomes 63.
I get the 2nd values by a simple loop:
For lnx = 0 To 99 Debug.Write(Asc(line.Substring(lnx, 1))) Next
I have tried a whole number of ways to read in the file, including filestream, My.Computer.FileSystem.ReadAllText, File.io.readAllLines, etc.All either give me a string length of about 324000 (not sure why) or, if they do, don't have the correct values. Yes, I have tried various encoding options.
I need to find a string (sort of like: "D" & Chr(0) + "L" & Chr(0) + "S" & Chr(0)... ) so I can then replace that portion of the string with a new value, then write out the file.I use the ".indexOf" to find the data in the string.Why can't I load the file into a string? Or, do you know of an easy way to find some text (similar to above) in a file and then replace the next x number of bytes with a new value and close the file?
Is there a simple way to remove reserved characters from a string without looping through it and testing each character? I want to remove <>:/?|? from strings that are used for folder and file names.
I'm using the Oracle command dbms_output.get_line to retrieve output from a stored procedure. Once my code runs the command, I'm retrieving the results through a buffer string, 32000 bytes long.Inevitably, this string will have Oracle line breaks (chr(10) and chr(13)) in it that I'd like to replace with Environment.NewLine so I can display the output in a standard Winforms textbox.Here is the code I've been using - I don't recall exactly where I got the Oracle command right now, but if I find it, I'll add the link.
Dim cmdGetOutput As New OracleCommand("declare " & _ " l_line varchar2(255); " & _ " l_done number; " & _
I have a text file that is automatically generated by an older computer system daily. Unfortunately, the columns in this file are not delimited and they are not exactly fixed width (each day the width of each column could change depending on the amount of chars of the data in each column). The file does have column headings, so I want to find the width of each column using the column headings. Here is an example of the column heading row:
JOB_NO[variable amount of white space chars]FILE_NAME[variable amount of ws chars]PROJECT_CODE[variable amount of ws chars][carriage return]
What I want to do is get the index of of the first char in a column and the index of the last white space of a column (from the column heading). I would want to get the index of the "J" in JOB_NUM and the last white space before the "F" in FILE_NAME for the first column.I guess I should also mention that the columns may not always be in the same order from day to day but they will have the same header names. I know I can use the string.indexOf("JOB_NO") to get the index of the start of the column, but how do I get the index of the last white space in each column? (or last whitespace before the next first non-whitespace that denotes the start of the next column)
I have a string. I need to check what characters it contains because certain invalid characters are causing my sql query not to work. In the query I select where SupplierName is equal to the string. I need to replace the invalid characters at database and vb level. But I need to know first what the characters are.
I have two textboxes. I type in one of them and the text gets copied in real time into another textbox. There is one catch. I need to replace specific character with something else.
If I enter a quote " in textbox1, it has to be replaced with " in textbox2.
I started with something like the below code, but obviously this does not work (tried different stuff - this is for demonstration only). In the example below 'a' represents " , and 'b' represents "
Private Sub TextBox1_KeyUp(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.KeyUp TextBox2.Text = TextBox1.Text
I currently have a very long column (5,000+) of which a lot of cells start with a range of zeros which I want to get rid of (the zero's that is). After importing the data from a txt file, I have a loop going through each row in turn getting data from different cells. So I could amend when teh data is being imported or during the loop reading the data.
I've got a string which could or could not contain the substring "/announce". I would like to replace this part of the string with "/scrape" if its found...so far nothing tricky. But heres the thing: I only want to replace it if the '/' in it is the last occurring in the string. Heres what I mean:
Heres a scenario where I want the replace to happen:
MyStringWithRandomText/announce?x=19 would become: MyStringWithRandomText/scrape?x=19
And heres another scenario where the '/' in announce is not the last '/' occuring in the string, so I dont want to replace it:
MyStringWithRandomText/announce/foo?x=19
I hope that made sense. Not sure if there is a way to handle this by only using RegEx
While my user is typing text into a textbox i want the characters " to be replaced with ' '. The thing is, when i put ' ' in the replace code, it thinks it is a comment so i cannot run the code without producing an error.Also in my multitext box, everytime i write text and hit ENTER, save and then load it back again, the last line ends with a comma, so:
Line 1 Line 2,
When the text is written to the file i read from, it will show like this:
"Line 1Line 2",
So i need a way of trimming ", when the apostrophe " and the comma , are together. My code already trims "".
when i copy code from vb.net code window, and paste it in my richtextbox, the color synthax is as it displays in my vb.net code window.. this i want to keep when finding and replacing words. i have the following code to find and replace,
my OCR copy text to a TextBox with at end, acts like enter key. Is it possible to replace it to something or remove it? For example, I want to copy number 1000 to my text box with OCR but I get 1000(its a little different boxes, I couldnt copy exact ones here). And I cant do
TextBox2.Text = TextBox2.Text.Replace("", "") , because is an "enter key" and what I get looks like that:
My program paste lots of stuff to a text box. Is it possible to replace every character that is not a number or a point to nothing? It may get lots of weird character there so is here way to replace them to οΏ½οΏ½ and keeping numbers?
I know how to TextBox1.Text = TextBox1.Text.Replace("%", "") But its too many simbols to list, Can it be done easier?
VB Dim str As String = "07" & GetBetween("Stephen 0761234567", "07", vbNewLine)Dim op As String = "lol" TextBox1.Text.Replace(str, op)
GetBetween is just a function to match something between something else. That works fine, the string (str) sets as 0761234567 just like I want but when i try to replace the text it doesn't work.
I'll explain the scenario. I have a list containing character list and it's corresponding unicode characters(copied from CharMap and pasted in VB editor). For example:
Text = Unicode --> Unicode character --------------------------------------- K = U+004A --> J
I have a string of characters, but I would like to have a string of hexdecimal characters where the hexadecimal characters are converted by turning the original characters into integers and then those integers into hexadecimal characters. How do I do that?
Well I've recently discovered that trying to create a file with so-called 'illegal characters' will cause your application to crash.. How do I find these characters in a string and replace them with nothing?
The invalid characters are / : * ? " < > | if that helps.
Not sure if too many people know this, but the following line will cause an error:
GroupName.Substring(0, 3) = "jt_"
....if the length of GroupName is less than 3 characters. I always thought it would simply return whatever characters in GroupName, but no, it errors. I must be thinking of the old VB6 days.So, I now have to change the code to:
If (GroupName.Length > 2) Then If (GroupName.Substring(0, 3) = "jt_") Then
Note that the two comparisons need to be on separate lines. If they are on the same line, such as:
If (GroupName.Length > 2) and (GroupName.Substring(0, 3) = "jt_") Then then the code will still fail as the length command is executed at the same time as the substring command- which will cause the error when the GroupName length is less than 3.Just thought that those of us not aware of this should be!
I am using the .Replace function of a string. My string is a module I have added for a resource which looks like this: My.Computer.Network.DownloadFile("This String Will Go Away/details.txt", "details.txt") And then in my application I have:
This should be fairly simple but i'm having one of those days, can any1 advise me as to how to replace the first and third occurance of a character within a string, i have looked at replace but that cannot work as the string could be of different lengths, all i want to do is replace the first and third occurance?
Okay, so I know now how to replace vowels in a string. Is there any way I can use the Select Case similar to the code below to replace all numbers into letter Z.
I am trimming some strings but I am unable to do anything about the strings containing plus signs. For example if I have this string with a telephone number
Dim str As String = "+46765124246" And try str.replace("+46", "0") Nothing changes in the string.