Search and replace string inside a column
Hi,
in my table there is Column A with Type NVARCHAR.
i need to search inside all the rows in that column to find the string "_TH" and remove it wherever it exist.
how can i do it?
you can follow below solution .
Step 1: Create a temporary table to load all the records which are having column with '-TH'
Step 2 : Use update statement and join it with temporary table to update the qualified records
Benefits: This is a set based solution which is optimal and high perfroming
Script:
create table test1(col1 nvarchar(20))
insert into test1 values('one_th'),('two_th'),('Gauri')
--Create Temporary table
select *
into #tmp2
from Test1
where col1 like '%_TH%'
--update all such rows which are having column with '_TH'
Note: I am replacing all columns with '_TH' with space . you can replace with other characters based upon your requirement.
update t
set col1 = replace(t.col1,'_TH','')
from test1 t
inner join #tmp2 t2
on t.col1 = t2.col1
Please comment If this solution helps you.
Similar Messages
-
Search and Replace String throwing the wrong error message with regexp?
This came up in a LAVA thread, and I'm not sure if there's a bug here or not. When using Search and Replace string, and using a regular expression of [(G[b|i])], LabVIEW throws error -4622, "There is an unmatched parenthesis in a regular expression." There are obviously no unmatched parenthesis in that expression, so it seems to me that the wrong error is being thrown. I'm just not sure if that's a syntactically valid regexp. The problem seems to be with nesting [ ]'s inside ( )'s inside [ ]'s. I've tried a couple of regexp resources on the Web, and one suggests it's valid, while the other seems to think it isn't.
Message Edited by eaolson on 03-13-2007 10:33 AM
Attachments:
ATML_StandardUnit2.vi 10 KB
regexp.png 5 KBadambrewster wrote:
I think your regexp is invalid.
In regexps, brackets are not the same as parentheses. Parens are for grouping, while brackets are for matching one of a class of characters. Brackets can not be nested.
If the regexp is replaced with [G[bi]], there is no error, so it's not a matter of nested brackets. I couldn't find anything on the PCRE man page that forbids nested brackets specifically, but it makes sense.
Your expression "[(G[bi])]", therefore parses as a character class which matches '(', 'G', '[', 'b', or 'i' followed by an unmatched paren, and an unmatched bracket.
I don't believe that's the case. Replace the regexp with [(Gbi)], and the error goes away. So it's not a matter of the '(' being literal, and then encountering a ')' without a matching '('.
daveTW wrote:
what string exactly you want to replace? I think the round braces are not right in this case, since they mark partial matches which are given back by "match regular expression". But you don't want to extract parts of the string, you want to replace them (or delete, with empty <replace string>). So if you leave the outer [( ... )] then your RegEx means all strings with either "Gb" or "Gi".
It's not my regular expression. A poster at LAVA was having problems with one of his (a truly frightening one), and this seemed to be the element that was causing the problem. I'm pretty sure that the originator of the regexp meant to use G(b|i), which seems like a complicated way of matching "Gb" or "Gi", if you ask me. -
Search and replace strings in a file while ignoring substrings
Hi:
I have a java program that searches and replaces strings in a file. It makes a new copy of the file, searches for a string in the copy, replaces the string and renames the new copy to the original file, thereafter deleting the copy.
Now searching for "abcd", for eg works fine, but searching for "Topabcd" and replacing it doesnot work because there is a match for "abcd" in a different search scenario. How can I modify the code such that if "abcd" is already searched and replaced then it should not be searched for again or rather search for "abcd" as entire string and not if its a substring of another string.
In the below code output, all instances of "abcd" and the ones of "Topabcd" are replaced by ABCDEFG and TopABCDEF respectively, whereas according to the desired output, "abcd" should be replaced by ABCDEFG and "Topabcd" should be replaced by REPLACEMEFIRST.
try
String find_productstring = "abcd";
String replacement_productstring = "ABCDEFG";
compsXml = new FileReader(compsLoc);
compsConfigFile = new BufferedReader(compsXml);
File compsFile =new File("file.xml");
File compsNewFile =new File("file1.xml");
BufferedWriter out =new BufferedWriter(new FileWriter("file1.xml"));
while ((compsLine = compsConfigFile.readLine()) != null)
new_compsLine =compsLine.replaceFirst(find_productstring, replacement_productstring);
out.write(new_compsLine);
out.write("\n");
out.close();
compsConfigFile.close();
compsFile.delete();
compsNewFile.renameTo(compsFile);
catch (IOException e)
//since "Topabcd" contains "abcd", which is the search above and hence the string "Topabcd" is not replaced correctly
try
String find_producttopstring = "Topabcd";
String replacement_producttopstring = "REPLACEMEFIRST";
compsXml = new FileReader(compsLoc);
compsConfigFile = new BufferedReader(compsXml);
File compsFile =new File("file.xml");
File compsNewFile =new File("file1.xml");
BufferedWriter out =new BufferedWriter(new FileWriter("file1.xml"));
while ((compsLine = compsConfigFile.readLine()) != null)
new_compsLine =compsLine.replaceFirst(find_producttopstring, replacement_producttopstring);
out.write(new_compsLine);
out.write("\n");
out.close();
compsConfigFile.close();
compsFile.delete();
compsNewFile.renameTo(compsFile);
catch (IOException e)
}Thanks a lot!Hi:
I have a java program that searches and replaces
strings in a file. It makes a new copy of the file,
searches for a string in the copy, replaces the
string and renames the new copy to the original file,
thereafter deleting the copy.
Now searching for "abcd", for eg works fine, but
searching for "Topabcd" and replacing it doesnot work
because there is a match for "abcd" in a different
search scenario. How can I modify the code such that
if "abcd" is already searched and replaced then it
should not be searched for again or rather search for
"abcd" as entire string and not if its a substring of
another string.
In the below code output, all instances of "abcd" and
the ones of "Topabcd" are replaced by ABCDEFG and
TopABCDEF respectively, whereas according to the
desired output, "abcd" should be replaced by ABCDEFG
and "Topabcd" should be replaced by REPLACEMEFIRST.
try
String find_productstring = "abcd";
String replacement_productstring = "ABCDEFG";
compsXml = new FileReader(compsLoc);
compsConfigFile = new
BufferedReader(compsXml);
File compsFile =new File("file.xml");
File compsNewFile =new File("file1.xml");
BufferedWriter out =new BufferedWriter(new
FileWriter("file1.xml"));
while ((compsLine =
compsConfigFile.readLine()) != null)
new_compsLine
=compsLine.replaceFirst(find_productstring,
replacement_productstring);
out.write(new_compsLine);
out.write("\n");
out.close();
compsConfigFile.close();
compsFile.delete();
compsNewFile.renameTo(compsFile);
catch (IOException e)
//since "Topabcd" contains "abcd", which is
the search above and hence the string "Topabcd" is
not replaced correctly
try
String find_producttopstring = "Topabcd";
String replacement_producttopstring =
topstring = "REPLACEMEFIRST";
compsXml = new FileReader(compsLoc);
compsConfigFile = new
gFile = new BufferedReader(compsXml);
File compsFile =new File("file.xml");
File compsNewFile =new File("file1.xml");
BufferedWriter out =new BufferedWriter(new
dWriter(new FileWriter("file1.xml"));
while ((compsLine =
compsLine = compsConfigFile.readLine()) != null)
new_compsLine
new_compsLine
=compsLine.replaceFirst(find_producttopstring,
replacement_producttopstring);
out.write(new_compsLine);
out.write("\n");
out.close();
compsConfigFile.close();
compsFile.delete();
compsNewFile.renameTo(compsFile);
catch (IOException e)
Thanks a lot!I tried the matches(...) method but it doesnt seem to work.
while ((compsLine = compsConfigFile.readLine()) != null)
if(compsLine.matches(find_productstring))
System.out.println("Exact match is found for abcd");
new_compsLine =compsLine.replaceFirst(find_productstring, replacement_productstring);
out.write(new_compsLine);
out.write("\n");
else
System.out.println("Exact match is not found for abcd");
out.write(compsLine);
out.write("\n"); -
Search and replace string formatting
Hi,
I am trying to do a search and replace formatting of a string.
In the example I am looking for string "PASSED" but it must also start with usbflash and some number + PASSED.
I can't get the format to have a number from 1-99. The number of replacements should add up to 6 in this case. I have tried with \d for any number, and I also tried [1-99].
Solved!
Go to Solution.Right click on the Search And Replace String function. There is an option to use Regular Expressions. Then give this a try.
EDIT: You will need to set the Replace All input to TRUE.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Attachments:
Match Pattern.png 12 KB -
Search and replace string problems
Hi to all,
I have problem with Search and replace string function. It shows me a wrong Value (Number) from 15 to 100 is everything OK (15=0, 30=1, 45=2, 100=3), but after 100 ........
Take look in VI and if you have any ideas post them please
THX
Igor
Attachments:
indexing.vi 10 KBthere will be no 15115 string, but 15 or 115 and 15 is 0, 115 is 4. Anyway, i have changed string input format and now its working THX for your help
Attachments:
indexing.vi 10 KB -
Search and replace string function
Hello, I am using the "search and replace string" function and it does nt seem to work consistently for me. I am using it in a situation where I am taking an array of strings, converting this into a spreadsheet string then deleting all of the commas. Has anyone experienced the same behavior? I have searched through other posts and found other simular faults but none of the fixes worked for this. I can post the code it needed.
Thanks,
AndrewI agree that commas are often not desirable, especially if your software should also work in countries where comma is used as a decimal seperator.
Where are the commas coming from? Does (1) each element of the original array have one (or more), do you (2) use comma as seperator if you convert it to a spreadhseet string?
For (1), you might just strip out the comma for each element right in the loop. For case (2) you would simply use a different separator to begin with, of course.
Btw: you are abusing a WHILE loop as a FOR loop, because you have a fixed number of iterations. Please replace it with a FOR loop. If you use a FOR loop, LabVIEW can manage memory much more efficiently, because it can allocate the entire output array before the loop starts. For While loops, the total number of iterations is not known to the compiler. (Of course a real program would also stop the loop if an error occurs. In this case you would need to stay woth the WHILE loop. )
Do you have a simple example how the raw array elements look like. How many commas are there?
LabVIEW Champion . Do more with less code and in less time . -
Using a variable in a Powershell search and replace string
Hi
a couple of days ago I posted a question about doing a search and replace with wildcards
Search and repalce with Widcards
I got a swift and very helpful answer but now I need to build on it.
In a text file I wanted to replace all the text between two defined words. the script I got was this
$text = 'Some Server this bit of text varies Language stuff'
$text -replace '(.*Server) .+? (Language.*)','$1 it will always say this $2'
It works great but now I want to replace "it will always say this" with a variable and I can't figure out the correct grammar to make this happen.
Can anyone help??
Thanks
AlexHere's one way:
$replace = 'it will aways say this'if ( $text -match '(.*Server) .+? (Language.*)' )
{ "{0} $Replace {1}" -f $matches[1,2] }
else { $text }
[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " " -
How to get numeric result from 'search and replace' string function
hii
i am using search and replace function to get output.my output is of form ' *X0123.3 ' .here i am replacing the term *X01 with space because i need only 23.3 as a result.but i am unable to get that out in the output indicator.i used lot of functions like string to number and so on but i am getting output as zero .can you please suggest me wt to do.i am attaching a copy of my file.
Attachments:
Untitled 1.vi 25 KBYour problem is the fact that you are converting it to an integer, thus loosing the fractional part. You need to use "Fract/Exp String To Number" instead and create a DBL so yor data is 23.3 instead of 23.
You also don't need to manipulate the string if the initial part is of constant lenght. Just use the offset input as in the figure below.
Message Edited by altenbach on 07-31-2006 07:02 AM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
ToDBL.png 2 KB -
Match case in search and replace string
Hi !
Attached, my problem.
I am searching "toto" in input string "toto+tototi" and replace "toto" by "A0".
I want to "match case" the search input in order to get a string result : A0+tototi
Does it exist options allowing to match case ?
BR,
Vincent
Solved!
Go to Solution.
Attachments:
MatchCase.vi 8 KBPlease fill all your controls with typical strings, make the new values the default, save the VI under a new name, and attach it again.
(This allows us to quickly reproduce your problem without entering strings and having to guess what your inputs actually are)
WIth your given string, the result seems as expected, so we need more information on what you actually want instead.
LabVIEW Champion . Do more with less code and in less time . -
Search and replace string not work as per required
please find the attachment. i am trying to replace the variable names but it doesnt replace the variable as i expected. Please help me in this
Attachments:
Replace String.vi 8 KB
Replace String.vi 8 KBYou haven't configured the strings to be "default". Hence, all string elements in your attached vi's are empty.
I have no idea what you try to achieve without those strings....
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
Find and Replace String in a Column
Hi,
In the table data got stored with " " (Double Quotes) I need to remove these double quotes Please suggest me how to remove
Select address from TECH_SOURCING_EMPLOYEE_DETAILS
"No 12/32" ---> data been saved in this format in the table. I need to remove the double quotes
Thanks
SudhirHi,
Use UPDATE to change existing rows in a table
Use REPLACE to remove a given sub-qtring from a string.
UPDATE tech_sourcing_employee_details
SET address = REPLACE (address, '"')
WHERE INSTR (address, '"') > 0 -- Maybe
;This will remove all double-quotes from address.
If you want to remove double-quotes only from the very beginning and end of the string, then use TRIM instead of REPLACE:
UPDATE tech_sourcing_employee_details
SET address = TRIM ('"' FROM address)
WHERE INSTR (address, '"') > 0 -- Maybe
;The WHERE clause is only for efficiency.
If, whenever the column contains double-quotes, one of the double-quote is always the first character in the string, then you can change the WHERE clause to:
WHERE address LIKE '"%'
{code} -
Search and Replace String Function replaces line feeds when I only want spaces replaced?
I need to replace every instance of a space or series of spaces in a multi line string with commas (or tabs) so I can dump it into a spreadsheet.
I am using the regular expresion [\s]+ and it works but it is also replacing the end of lines (\r\n) too.
How can I make it replace the spaces but leave teh end of lines intact?
Solved!
Go to Solution.
Attachments:
replace.vi 6 KBRight click on the search string and change it to '\' Code Display. Enter the space character (\s) correctly - you've got \\s right now.
-
Xml search and replace for 'Session Variables' in column title view
Hi Experts,
I have around 10 reports where measure column titles are displayed based the session variable.
Below is the syntax I have used in the column title
@{biServer.variables['NQ_SESSION.VariableName']}
Now I would like to replace the above syntax with some static text. To do this, I am trying to use the xml search and replace feature in the catalog manager.
For some reason, catalog manager is unable to find the syntax in the xml file. I have tried using escape character also for the apostrophe by using &apos, but no luck.
Any pointers on how to replace the text?
ThanksUsing Analysis get the xml conversion for @{biServer.variables['NQ_SESSION.VariableName']} from Advanced tab's xml code
use this code to find in catalog manager, if you able to find then go for search and replace option.
I think this should work for you. -
Batch File Search and Replace a String
I've written a batch file to handle the copying of files. I'm trying to reduce the number of parameters that I pass to the batch file.
I want the batch file to perform a string replace on the directory path that is passed as a parameter to the batch file.
Here is how I run the batch file:
COPY_FILE.BAT C:\DATA\FTP_DATA\ACME\IN (I'm passing directory path "C:\DATA\FTP_DATA\ACME\IN" as parameter %1)
So my batch file will copy a file to the directory path represented by parameter %1.
But then I want the file copied to a second directory. I want the batch file to replace string "FTP_DATA" in the directory path with string "FTP_DATA\ARCHIVE"
I know I could pass this path as a second parameter, but I want to limit the number of parameters so figured I could have the batch file perform a search and replace on string "FTP_DATA".
After searching the internet, I thought I found the answer by using the following command in the batch file:
set ARCHIVE_PATH=%1:FTP_DATA=FTP_DATA\ARCHIVE
But it doesn't perform a search and replace. It just appends to the directory path with the following result:
C:\DATA\FTP_DATA\ACME\IN:FTP_DATA=FTP_DATA\ARCHIVE
What I want is the this:
C:\DATA\FTP_DATA\ARCHIVE\ACME\IN
Any suggestions?Your syntax is not correct. Example:
@echo off
setlocal enableextensions
set ARCHIVE_PATH=C:\DATA\FTP_DATA\ACME\IN
echo %ARCHIVE_PATH%
set ARCHIVE_PATH=%ARCHIVE_PATH:FTP_DATA=FTP_DATA\ARCHIVE%
echo %ARCHIVE_PATH%
endlocal
-- Bill Stewart [Bill_Stewart] -
Search and Replace "Column Break" with "Page Break"?
Hi,
I have been using the "column break" where I really should have been using the "page break". The page break just makes more sense in my layout.
Is there anyway to search and replace the column break with a page break?
Thanks,
Rhek
Maybe you are looking for
-
Detect customers without credit limit
Hi, in my firm we use credit control for customers in the EXP market. In SE16N when I go to table KNKK I can pull a list of all customers with credit limits -- they have value "EXP" in field KKBER or no. of credit (equal to customer no.) in field KNK
-
Error in account determination - table T030K key 1000 VSE during MR8M
Dear, when i'm duing MR8M (miro reversal) Error in account determination: table T030K key 1000 VSE I have assigned a GL # for VSE in OB40, but still i'm getting the error, enable to move further... while doing miro , i didn't get any error, the doc h
-
Oracle 9i 9.2.0.1.0 using high memory!
Hi everyone, Im new to oracle, need some help here. Currently i got a Solaris 8 Sparc node, installed with Oracle 9i Database. It seems to be using 98% of the memory, from the top command, can only see 53MB free out of 3GB physical memory. Any good e
-
Adustment for wrong period transaction
Actually, I have several invoice that is posted to wrong period, Since the previous period has been closed. I can't reverse the document and post to correct period again. So, how can I adjust this transaction in accounting. Can I post it to another G
-
Can I use photoshop when I have not internet conneciton
No internet where I'm going. Can I still use photoshop?