Solved

Oracle procedure question related to ID: 27979957

Posted on 2013-01-07
5
343 Views
Last Modified: 2013-01-07
I had a question answered for parsing characters out of a string etc....I want to enhance this query further. I found that in certain circumstances there is a part of a string that starts with { , has text after it, and ends with a }....What I need to do is take this whole portion out of the text being returned. Below is the function that I need this logic added too, if I can....

regexp_replace(col1,'[^a-zA-Z0-9: ' || chr(10) || chr(13)|| '-]');

Example of data:

Jones played '~(`|¤|football)~' and baseball at '~(¦%|¥|Mobile County Training School)~' in '~(`|¤|{link:10098}|Mobile, Alabama,)~' and Alabama A&M University.

The above function will return this

Jones played football and baseball at Mobile County Training School in {link:10098} Mobile, Alabama, and Alabama A&M University.

I need everything between { and } , including the curly brackets, removed...

Thanks
JK
0
Comment
Question by:jknj72
  • 3
  • 2
5 Comments
 
LVL 77

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 38750886
See if this is what you are after:
select regexp_replace(col1,'{.*}|[^a-zA-Z0-9: ' || chr(10) || chr(13)|| '-]') from tab1;
0
 

Author Comment

by:jknj72
ID: 38751020
Yes that worked but I do have a question before I finish this. I need to keep certain characters in the text field like periods and back slashes, etc... Is there any way I can include what characters to keep and not get rid of?
0
 

Author Comment

by:jknj72
ID: 38751033
Actually I just included the characters in the 2nd argument and it worked. I think Im good....For now anyways...
0
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 38751043
>>Is there any way I can include what characters to keep and not get rid of?

Yes.  I mentioned this in the previous questions, just add the characters you want to keep to the list inside the square brackets (the '-' MUST be the last one in the list):  [^a-zA-Z0-9: ' || chr(10) || chr(13)|| '-]

The potential issue is if the 'keep' characters are part of the string in the 'special' characters you want to remove.

If you run into this, we may need a more complex regular expression.

Keep a list of the edge case's data and if you need to ask a new question, provide ALL the sample data and expected results for each.
0
 

Author Comment

by:jknj72
ID: 38751259
will do, thanks slight...
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question