How to replace part of a string in SQLite using Regex? - sql

If i have the following string:
I WOULD LIKE TO USE REGEXP TO SOLVE THIS PROBLEM AND NOT THE DEFINED WORD
"123456abcd" and "123456"
I would like to find and replace where the numbers 123456 appear in that order, i know that regex has to be used in SQlite but I cannot seem to find which function to use (either REPLACE or UPDATE).
For example in the above - I would like to replace 123456 with the string "cheese" - then I would like the following:
"cheeseabcd" and "cheese"
I am stuck on how to solve this in SQL lite! everytime I make a change it changes the entire string and not just part of the string!

I don't see any regular expressions here. Just:
replace(col, '123456', cheese)

Related

TERADATA REGEXP_SUBSTR Get string between two values

I am fairly new to teradata, but I was trying to understand how to use REGEXP_SUBSTR
For example I have the following cell value = ABCD^1234567890^1
How can I extract 1234567890
What I attempted to do is the following:
REGEXP_SUBSTR(x, '(?<=^).*?(?=^)')
But this didnt seem to work.
Can anyone help?
It might (or might not) be possible to use REGEXP_SUBSTR() to handle this, but you would need to use a capture group. An alternative here would be to do a regex replacement instead:
SELECT x, REGEXP_REPLACE(x, '^.*?\^|\^.*$', '') AS output
FROM yourTable;
The regex pattern used here matches:
^.*?\^ everything from the start to the first ^
| OR
\^.*$ everything from the second ^ to the end
We then replace with empty string to remove the content being matched.

using Regex get substring between underscore 2 and underscore 3 of string, vb.net

I have a string like: Title Name_2021-04-13_A+B+C_Division.txt. I need to extract the A+B+C. The A+B+C may be other letters. I believe that using Regex would be the simplest way to do this. In other words I need to get the substring between underscore 2 and underscore 3 of string. All of my code is written in vb.net. I have tried:
boatClass = Regex.Match(myFile, "(?<=_)(.*)(?=_)").ToString
I know this is not right but I think it is close. What do I need to add or change?
The regex code that will extract a substring between the second and third underscore of a string is:
(?:[^_]+_){2}([^_]+)
However, I chose to use the split function:
myString.Split("_"c)(2)

REGEXP REPLACE with backslashes in Spark-SQL

I have a string containing \s\ keyword. Now, I want to replace it with NULL.
select string,REGEXP_REPLACE(string,'\\\s\\','') from test
But unable to replace with the above statement in spark sql
input: \s\help
output: help
want to use regexp_replace
To replace one \ in the actual string you need to use \\\\ (4 backslashes) in the pattern of the regexep_replace. Please do look at https://stackoverflow.com/a/4025508/9042433 to understand why 4 backslashes are needed to replace just one backslash
So, the required statement would become like below
select name, regexp_replace(name, '\\\\s\\\\', '') from test
Below screenshot has examples for better understanding

Netezza SQL - How to replace string between two Comma's, with a condition

I have a string where I want to find :N between two commas, and replace the data data between two commas with blank. Example shown below.
Currently its being done manually with exporting it into excel, making changes and importing it back into database. I'm sure there would be a better way to have this done in coding without the need of export/import.
Example:
"This is sting one:Y,this is string Two:X,This is string Three:N,This is string four:N,This is string five:X,"
Desired outcome:
"This is sting one:Y,this is string Two:X,This is string five:X,"
Would really appreciate your help.
A
I would use the sql extensions toolkit and regexp_replace.
I've found that the nz implementation of regex seems to have some issues with the ? non-greedy modifier on my version. The expression that worked here was ,[^(:N)]+:N.
FORTUNE_DB(ADMIN)=> select * from so;
COL1
--------------------------------------------------------------------------------------------------------------
This is sting one:Y,this is string Two:X,This is string Three:N,This is string four:N,This is string five:X,
FORTUNE_DB(ADMIN)=> select regexp_replace(col1,',[^(:N)]+:N','') from so;
REGEXP_REPLACE
-----------------------------------------------------------------
This is sting one:Y,this is string Two:X,This is string five:X,

How should a string be matched with a regular expression in Objective C

I'm finding it hard to match strings using NSRegularExpression. Generic alpha characters are not a problem with [a-z] but if I need to match a word like 'import' I'm struggling to make it work. I'm sure I have to escape the word in some manner but I can't find any docs around this. A really basic example would be
{{import "hello"}}
where I want to get hold of the string: hello
edit: to clarify - 'hello' could be any string - it's the bit I want returned
This regular expression matches the text between the "-s in your example:
\{\{import "([^"]+)"\}\}
The match will be stored in the first match group.