I want to check if my string contains a + character.I tried following code
s= "ddjdjdj+kfkfkf"; if(s.contains ("\\+"){ String parts[] = s.split("\\+); s= parts[0]; // i want to strip part after + }
but it doesnot give expected result.Any idea?
string repeatedWord = "woooooooow"; for (int i = 0; i < repeatedWord. Count(); i++) { if (repeatedWord[i] == repeatedWord[i+1]) { // .... } } The code works but it will always have an error because the last character [i + 1] is empty/null.
You need this instead:
if(s.contains("+"))
contains()
method of String
class does not take regular expression as a parameter, it takes normal text.
EDIT:
String s = "ddjdjdj+kfkfkf"; if(s.contains("+")) { String parts[] = s.split("\\+"); System.out.print(parts[0]); }
OUTPUT:
ddjdjdj
Why not just:
int plusIndex = s.indexOf("+"); if (plusIndex != -1) { String before = s.substring(0, plusIndex); // Use before }
It's not really clear why your original version didn't work, but then you didn't say what actually happened. If you want to split not using regular expressions, I'd personally use Guava:
Iterable<String> bits = Splitter.on('+').split(s); String firstPart = Iterables.getFirst(bits, "");
If you're going to use split
(either the built-in version or Guava) you don't need to check whether it contains +
first - if it doesn't there'll only be one result anyway. Obviously there's a question of efficiency, but it's simpler code:
// Calling split unconditionally String[] parts = s.split("\\+"); s = parts[0];
Note that writing String[] parts
is preferred over String parts[]
- it's much more idiomatic Java code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With