Multiple characters replaced in a string

Hello,
I have a column that contains phone numbers but all have different formats. Some are formatted like (xxx) xxx-xxxx, some like xxx.xxx.xxxx and some are like xxx xxx xxxx. I was wondering how in one sql statement I could remove the characters (). or a blank space so the formatting would just be xxxxxxxxxx.
I know I can do multiple replace statements to do this but was wondering if there was a more elegant solution to this.
Oracle 10g
Thank you

Hi,
If you can list all the characters you want to remove, then TRANSLATE is great.
TRANSLATE ( phone_txt
          , '9 .(-)'
          , '9'
          )The 2nd argument starts with one of the characters that you want to keep (it doesn't matter which one), followed by all the characters that you want to remove.
The 3rd argument consists entirely of that one character you used to start the 2nd argument. That character will be "translated" to itself, and all the others will be translated to nothing (that is, removed).
If you can only list the characters you want to keep, then REGEXP_REPLACE is good:
REGEXP_REPLACE ( phone_txt
               , '[^0-9]'
               )

Similar Messages

  • Replace multiple characters to single character

    Hi friends,
    I would like to replace multiple characters in a string to a single character. The character may be a pipe (|) or a tilde (~).
    For example "|||asdf||123|xyz||" should be changed to "asdf|123|xyz".
    I use Oracle 11g2.
    Thanks in advance!

    Without regexp
    with testdata as (
        select '||asdf||||123|xyz|' str from dual union all
        select 'asdf|123|||||||xyz||||' from dual union all
        select '||||||asdf|||123||||||xyz||||||' from dual
    select
    trim (both '|' from
        replace (
            replace (
                replace (str,'|','|'||chr(0))
                ,chr(0)||'|'
            ,chr(0)
    ) str
    from testdata
    STR
    "asdf|123|xyz"
    "asdf|123|xyz"
    "asdf|123|xyz"
    with regexp
    with testdata as (
        select '||asdf||||123|xyz|' str from dual union all
        select 'asdf|123|||||||xyz||||' from dual union all
        select '||||||asdf|||123||||||xyz||||||' from dual
    select
    trim (both '|' from
        regexp_replace (
            str
            ,'\|+'
            ,'|'
    ) str
    from testdata
    STR
    "asdf|123|xyz"
    "asdf|123|xyz"
    "asdf|123|xyz"
    Message was edited by: chris227 regexp added

  • Create a flat file with multiple characters for enclosures

    Hello,
    we use OWB 11g2 (11.2.02).
    Now we try to create a flat file with multiple characters for enclosures. The manual wrote:
    "Enclosures (Left and Right): Some delimited files contain enclosures that denote text strings within a field. If the file contains enclosures, enter an enclosure character in the text box or select one from the list. The list displays commonenclosures. However, you may enter any character. The default for both the left and right enclosure is the double quotation mark ("). You can specify multiple characters and hexadecimal characters as field enclosures."
    But it will not work. The OWB use the first character from the left enclosure definition as left enclosure and the second one as right enclosure !?!
    Did anyone know this behavior? Is there a solution for this problem?
    Thanks and regards
    Norbert

    HI Raghu,
               Use the function module 'GUI_UPLOAD'.
               In that you have to specify the field_separator value = 'X' in export section.
    Regards,
    S.C.K

  • Multiple characters in one slot of an ArrayList?

    I am writing a method that extracts words from a string and returns an ArrayList with the given extracted words. I am not allowed to use the method split.
    I have managed to get the characters of the input string into an array list, but I can't seem to get multiple characters into one slot of the list. Can you put multiple characters into one slot of an array list?
    Here is the code for my method.
    import java.util.*;
    import java.io.*;
    public class PS6
      public static ArrayList<Object> extract_words(String string1)
       String s1 = string1;
       char space = ' ';
       int index = 0;
       ArrayList<Object> charArray = new ArrayList<Object>(s1.length());
       for (index = 0; index < s1.length(); index++)
         char current = s1.charAt(index);
         if(current != space)
           charArray.add(current);
       return charArray;
    }If I leave it like this, when I write a test program to test this method, my output is:
    java ExtractWordsTest
    [N, o, w, i, s, t, h, e, t, i, m, e]
    Not what I want. I want [Now, is, the, time]
    I thought to fix this, I could modify part of the for loop as such
    int position = 0;
         if(current != space)
           charArray.add(position, current);
        else
           position++;
         } thinking that this would add all characters to the same slot in the ArrayList until it found a space. If it found a space, it would advance the slot of the ArrayList and start adding characters to that slot until it found another space. It would do this until it reached the end of the string.
    But with this code, the output of the test program is
    java ExtractWordsTest
    [e, m, i, t, e, h, t, s, i, w, o, N]
    Am I going about this in the wrong way? Is it not possible to add multiple characters to one slot of an array list?

    I've been trying to account for that. I figured that it wasn't giving me the last word because it never finds a final space, which is true. When in my test program, I make the test string "Now is the time " with that extra space, the out put is [Now, is, the, time].
    The problem is I don't want to put in that extra space.
    I've been trying to put in another else if statement, but I'm not trying things that are correct.
    I've tried the above code with
    else if (current == finalChar)
         { /*trying to get it to extract the last substring and add it to the array as the last element*/
           newString = s1.substring(s1.lastIndexOf(space), s1.length());
           stringArrayL.add(newString);
         }but even though the method compiles, it makes my test program go crazy and clearly does not work.
    I've tried using || in various ways, specifically regarding the second else statement
    else if (current == space || current = s1.charAt(s1.length()))
             stringArrayL.add(newString);
             newString = "";
           }but that, as well as other || parameters I have tried keeps spitting out
    [Now, is, the]
    The only way I've gotten it to give me all four is by putting that extra space in at the end of the test string, which I don't want to have to do.

  • Inputting Multiple Search Fields into Query String??

    hey guys and gals
    quick question...i am building a little widget that allows a
    user to type in keyword(s) into one input field and then a zip code
    into another
    when the user clicks submit, it plugs them into the search
    url
    i have it working for one input field, but i am not sure how
    to append the script for the second field...what would i need to
    change to the below script to add a second field into that query
    string?
    btn.onRelease = function(){
    getURL("
    http://www.google.com/search?q="+myInputField,"_blank");
    any help is much appreciated...thanks for your time!

    Try looking at the methods of the String class. If you locate
    the characters that need replacement, split the string into two
    separate strings each without the special character, and substitute
    the hex equivalent, that should do the trick.
    original:String=new String(input);
    for(var i=0; i<original.length; i++){
    if(original.charAt(i)==" "||/*insert as many cases as you
    need here*/){
    //insert your replacing code here
    special
    characters reference

  • How to find no of numeric characters in a given string ???

    How to find no of numeric characters in a given string ???
    Thanks,
    Kathir

    sabre150 wrote:
    Use String.replaceAll() to replace any characters that are not numeric and then take the length of the resultant String....and this might be useful: [http://www.regular-expressions.info/]
    ;-)

  • Search given string array and replace with another string array using Regex

    Hi All,
    I want to search the given string array and replace with another string array using regex in java
    for example,
    String news = "If you wish to search for any of these characters, they must be preceded by the character to be interpreted"
    String fromValue[] = {"you", "search", "for", "any"}
    String toValue[] = {"me", "dont search", "never", "trip"}
    so the string "you" needs to be converted to "me" i.e you --> me. Similarly
    you --> me
    search --> don't search
    for --> never
    any --> trip
    I want a SINGLE Regular Expression with search and replaces and returns a SINGLE String after replacing all.
    I don't like to iterate one by one and applying regex for each from and to value. Instead i want to iterate the array and form a SINGLE Regulare expression and use to replace the contents of the Entire String.
    One Single regular expression which matches the pattern and solve the issue.
    the output should be as:
    If me wish to don't search never trip etc...,
    Please help me to resolve this.
    Thanks In Advance,
    Kathir

    As stated, no, it can't be done. But that doesn't mean you have to make a separate pass over the input for each word you want to replace. You can employ a regex that matches any word, then use the lower-level Matcher methods to replace the word or not depending on what was matched. Here's an example: import java.util.*;
    import java.util.regex.*;
    public class Test
      static final List<String> oldWords =
          Arrays.asList("you", "search", "for", "any");
      static final List<String> newWords =
          Arrays.asList("me", "dont search", "never", "trip");
      public static void main(String[] args) throws Exception
        String str = "If you wish to search for any of these characters, "
            + "they must be preceded by the character to be interpreted";
        System.out.println(doReplace(str));
      public static String doReplace(String str)
        Pattern p = Pattern.compile("\\b\\w+\\b");
        Matcher m = p.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (m.find())
          int pos = oldWords.indexOf(m.group());
          if (pos > -1)
            m.appendReplacement(sb, "");
            sb.append(newWords.get(pos));
        m.appendTail(sb);
        return sb.toString();
    } This is just a demonstration of the technique; a real-world solution would require a more complicated regex, and I would probably use a Map instead of the two Lists (or arrays).

  • Two finger swipe replaces google search string

    MBP with Safari 6.0 experiencing this problem.  Another user was experiencing the issue here:
    http://www.ehmac.ca/mac-iphone-ipad-ipod-help-troubleshooting/99937-safari-two-f inger-swipe-bug-replaces-google-search-string-os-10-7-3-a.html
    I don't know where the bug reports are to follow up on it and I haven't seen any patches for it.  Any advice?  Specifically, I'd like to know how to file the bug (in case I find another) and to follow up on any existing issues.
    TIA,
    Scott

    Is there no place to track the status of the report or see any other outstanding issues so I don't bother filing duplicates?
    Never heard of such a function here. This method gets feedback to the people who count but it is completely behind the scenes. Part of Apple's "cards close to the chest" method of doing pretty much everything. You should have been looking at the "don't expect a response" screen after you hit the submit button on your bug report.
    If there is something that needs clarification, I suspect they will use e-mail to ask for it, but don't stay home waiting!
    Have you read Walter Isaacson's  biography of Steve Jobs? Things like this took on a new--if not satisfying--perspective for me after reading it. So far, it has persisted in their corporate culture in the after-Steve era..

  • How Can I replace newScale Text Strings with Custom Values?

    How Can I replace newScale Text Strings with Custom Values?
    How can I replace newScale text strings with custom values?
    All  newScale text is customizable. Follow the procedure below to change the  value of any text string that appears in RequestCenter online pages.
    Procedure
    1. Find out the String ID of the text string you would like to overwrite by turning on the String ID display:
    a) Navigate to the RequestCenter.ear/config directory.
    b) Open the newscale.properties file and add the following name-value pair at the end of the file:res.format=2
    c) Save the file.
    d) Repeat steps b and c for the RmiConfig.prop and RequestCenter.prop files.
    e) Stop and restart the RequestCenter service.
    f) Log  in to RequestCenter and browse to the page that has the text you want  to overwrite. In front of the text you will now see the String ID.
    g) Note down the String ID's you want to change.
    2. Navigate to the directory: /RequestCenter.ear/RequestCenter.war/WEB-INF/classes/com/newscale/bfw.
    3. Create the following sub-directory: res/resources
    4. Create the following empty text files in the directory you just created:
    RequestCenter_0.properties
    RequestCenter_1.properties
    RequestCenter_2.properties
    RequestCenter_3.properties
    RequestCenter_4.properties
    RequestCenter_5.properties
    RequestCenter_6.properties
    RequestCenter_7.properties
    5. Add the custom text strings to the appropriate  RequestCenter_<Number>.properties file in the following manner  (name-value pair) StringID=YourCustomTextString
    Example: The StringID for "Available Work" in ServiceManager is 699.
    If you wanted to change "Available Work" to "General Inbox", you  would add the following line to the RequestCenter_0.properties file
         699=General Inbox
    Strings are divided into the following files, based on their numeric ID:
    Strings are divided into the following files, based on their numeric ID:
    String ID  File Name
    0 to 999 -> RequestCenter_0.properties
    1000 to 1999 -> RequestCenter_1.properties
    2000 to 2999 -> RequestCenter_2.properties
    3000 to 3999 -> RequestCenter_3.properties
    4000 to 4999 -> RequestCenter_4.properties
    5000 to 5999 -> RequestCenter_5.properties
    6000 to 6999 -> RequestCenter_6.properties
    7000 to 7999 -> RequestCenter_7.properties
    6. Turn off the String ID display by removing (or commenting out) the line "res.format=2" from the newscale.properties, RequestCenter.prop and RmiConfig.prop files
    7. Restart RequestCenter.
    Your customized text should be displayed.

    I've recently come across this information and it was very helpful in changing some of the inline text.
    However, one place that seemed out of reach with this method was the three main buttons on an "Order" page.  Specifically the "Add & Review Order" button was confusing some of our users.
    Through the use of JavaScript we were able to modify the label of this button.  We placed JS in the footer.html file that changes the value of the butt

  • How to find number of characters in a character string

    Hi,
      Can anyone please tell me about how to find the number of characters in a character string type variable.
    Reagards,
    Siva

    hi,
    Use STRLEN for Calculating String Length..
    Assign it to integer variable for Further Use.Suppse u need to find string length for "hai".. this piece of code will help u
    data:  var type string value 'hai',
             len type i.
    len = strlen(var).
    write len.

  • How to Identify the Same Characters in 2 Different Strings

    Hi All,
    I am requiring a suggestion on how to identify the same characters in 2 different Strings, for example:
    String str1 = "hello";
    String str2 = "llheo";
    Both Strings contain the same characters, but in a different order, so what would be the best technique to verify t that both Strings indeed contain the same characters?
    I was personally thinking along the lines of using the class, java.util.regex.Pattern?
    Any thoughts would me much appreciated. Thanks

    I would instead sort the characters, and then compare
    the sorted data.
    I'm fealing generous
        private static boolean anagram(String left, String right)
            if (left.length() != right.length())
                return false;
            char[] leftChars = left.toCharArray();
            char[] rightChars = right.toCharArray();
            Arrays.sort(leftChars);
            Arrays.sort(rightChars);
            return Arrays.equals(leftChars, rightChars);
        }

  • Replace the connection string in Excel MDS file

    I had MDS solution from one SQL Server 2012 to another - SQL Server 2014. I have configured Excel file with connection to MDS. How can I safely to replace the connection string in my Excel MDS file and the tables is not broken?
    from Moscow with money

    Hi,
    Excel is just used to manage data and create new entities and attributes. Why not first publish and close your excel before MDS upgraded to 2014? After the upgrade, reconnect new solution in your excel.
    thanks,
    Jerry

  • How to make Multiple parameters to sql query string seperated by ,(comma) ..

    Hi,
    I would like to konw how I can make multiple parameters to sql query string seperated by ,(comma)  ..
    For example, this parameters can be printed like 'abc,dde,ggf,eeg' ,once I use  "join(Parameters!rpCode.Value,",")" with report builder , 
    By the way, when I test this multiple parameters by Query Designer of report builder there was no problem,.(using Define query parameters, I put abc,dde,ggf,eeg)
    however, when I run this report , it won't be executing ,  with (rsErrorExecutingCommand)
    Plz, help me....

    If its sql query then it should like this
    Select t.*
    from table t
    inner join dbo.ParseValues(@Parameters,',')f
    on f.val = t.ID
    ParseValues can be found him
    http://visakhm.blogspot.in/2010/02/parsing-delimited-string.html
    or easier way is
    Select t.*
    from table t
    where ',' + @Parameters + ',' LIKE '%,' + CAST(t.ID AS varchar(10)) + ',%'
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Replace " from the string

    Hi,  I am not able to remove " (double quotes) from a sting.
    I am using replace function in webi but getting error.
    example sting: Yellow stone"discovery"
    i have tried like this: =replace([varible];""";"")  but getting error. can anybody help me in removing the " from sting.
    Thanks.

    Description
    Replaces part of a string with another string
    Function Group
    Character
    Syntax
    string Replace(string input_string; string string_to_replace; string replace_with)
    EX:=Replace ([[variable]]; Char(34) ;"")
    Input
    input_string                     The input string 
    string_to_replace             The string within input_string to be replaced 
    replace_with                    The string to replace string_to_replace with. 
    Output
    The string with the part replaced
    Example
    Replace ("New YORK";"ORK";"ork") returns "New York"
    All the best,
    Praveen

  • Replace charcter from string in 46c

    Hi,
    If you could send me code for below scanerio that will be great.
    in 46c i have string '/ABCD/te_12' now i want to replace the '/' with '+'  and '_' with '|', can you tell me how to do this.
    thanks,
    john

    hi check the replace statement... hit F1 on replace and make ur code..
    Basic form
    REPLACE f WITH g INTO h.
    Addition
    ... LENGTH len (length specification for field f )
    Effect
    Replaces the first occurrence of the contents of field f in field h with the contents of field g . All fields are handled in their defined length; this means that closing blanks are not ignored.
    The return code value indicates whether the string f was found in h and replaced by g :
    SY-SUBRC = 0 String replaced.
    SY_SUBRC = 4 String not replaced.
    Example
        DATA FIELD(10).
        MOVE 'ABCB' TO FIELD.
        REPLACE 'B' WITH 'string' INTO FIELD.
    returns:
    FIELD = 'AstringCB', SY-SUBRC = 0
    Note
    The fields f and g in the REPLACE statement should not overlap. Otherwise, the result is undefined.
    Addition
    ... LENGTH len ... (length specification for field f )
    Effect
    Searches for the string f in the field h not in its (full) field length, but in the length len .
    Example
        DATA: PATTERN(5) VALUE 'ABC',
              LEN TYPE I,
              REPL_STRING(5) VALUE '12345',
              FIELD(12) VALUE 'abcdeABCDE'.
        REPLACE PATTERN WITH REPL_STRING
                        INTO FIELD.
    does not change FIELD , since 'ABC ' does not occur in abcdeABCDE ' .
        LEN = STRLEN( PATTERN ).
        REPLACE PATTERN LENGTH LEN
                        WITH REPL_STRING
                        INTO FIELD.

Maybe you are looking for