I try to get all text after hyphen (dash). For example, if I have a text like this:
123-text
I need to get text
.
I tried this:
^.*(?=(-))
But it matches all text after dash with that dash and I need to get just text.
Advertisement
Answer
You can remove all text before the first occurrence of a hyphen and the hyphen(s) right after with
String result = text.replaceFirst("^[^-]*-+", "");
See the regex demo. The replaceFirst
will find and remove the first occurrence of
^
– start of string[^-]*
– zero or more chars other than-
-+
– one or more-
chars.
An approach with String#split
is also viable:
String text = "123-text"; String[] chunks = text.split("-", 2); // limit splitting into 2 chunks System.out.println(chunks[chunks.length-1]); // Get the last item // => text
See the Java demo online.