I'm using JAVA and I have a string called example that looks like;
example = " id":"abcd1234-efghi5678""tag":"abc" "
NOTE: I have't escaped the "'s using \ but you get the idea..
...I want to just return;
abcd1234
...I've been trying using substring
example = (example.substring(example.lastIndexOf("id\":\"")+5));
(because this string could be anywhere in a HTML/JSON File) which kinda works all the lastIndexOf does is find it and then keep everything AFTER it - i.e it returns;
abcd1234-efghi5678""tag":"abc"
Basically I need to find the lastIndexOf based on the string and limit it returns afterwards - I found that I could do it another substring command like this;
example = (example.substring(example.lastIndexOf("id\":\"")+5));
example = example.substring(0,8);
...but it seems messy. Is there any way of using lastIndexOf and also setting a max length at the same time - it's probably something really simple that I can't see due to staring at it for so long.
Many thanks in advance for your help!
Don't
substring
twice. Use the found index twice instead:Or, if the length is dynamic, but always ends with
-
:In real code, you should of course always check that the substring is found at all, i.e. that
idx
/start
/end
are not-1
.