8

For the string " \n a b c \n 1 2 3 \n x y z " I need it to become "a b c 1 2 3 x y z".

Using this regex str.replaceAll("(\s|\n)", ""); I can get "abc123xyz", but how can I get spaces in between.

0

5 Answers 5

12

You don't have to use regex; you can use trim() and replaceAll() instead.

 String str = " \n a b c \n 1 2 3 \n x y z ";
 str = str.trim().replaceAll("\n ", "");

This will give you the string that you're looking for.

Sign up to request clarification or add additional context in comments.

1 Comment

@pmartin8 Wanna tell that to the OP who was satisfied with this?
7

This will remove all spaces and newline characters

String oldName ="2547 789 453 ";
String newName = oldName.replaceAll("\\s", "");

Comments

3

This will work:

str = str.replaceAll("^ | $|\\n ", "")

Comments

1

If you really want to do this with Regex, this probably would do the trick for you

String str = " \n a b c \n 1 2 3 \n x y z ";

str = str.replaceAll("^\\s|\n\\s|\\s$", "");

Comments

1

Here is a pretty simple and straightforward example of how I would do it

String string = " \n a   b c \n 1  2   3 \n x y  z "; //Input
string = string                     // You can mutate this string
    .replaceAll("(\s|\n)", "")      // This is from your code
    .replaceAll(".(?=.)", "$0 ");   // This last step will add a space
                                    // between all letters in the 
                                    // string...

You could use this sample to verify that the last regex works:

class Foo {
    public static void main (String[] args) {
        String str = "FooBar";
        System.out.println(str.replaceAll(".(?=.)", "$0 "));
    }
}

Output: "F o o B a r"

More info on lookarounds in regex here: http://www.regular-expressions.info/lookaround.html

This approach makes it so that it would work on any string input and it is merely one more step added on to your original work, as to answer your question accurately. Happy Coding :)

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.