Q:

Grabbing substrings with same start but variable end and lenght in a String an add it to an Array

I'm looking for a way to catch all substrings in a huge String.  The substrings are all starting with:

"productName":"  , 

after the quote right behind the colon, the substrings have obviously different endings and length, but they all have a quote like this on their very end:

"productName":"cucumber" or "productName":"tomatoes"

I already tried by myself but with my code it stopped right after the first match (later I found out that is what indexOf does :D), how can I get every single substring and add it to the ArrayList ?  
  ArrayList<String> nameList = new ArrayList<>();
        String productName = "\"productName\":\"";
        String tmp = "";
        char endPoint =  '"';
        int lastIndex = unmodifiedSourceCode.indexOf(productName) + 15; 
        for (int i = 0; i < 10; i++) {
            if (unmodifiedSourceCode.charAt(lastIndex + i) ! = endPoint) {
                tmp += unmodifiedSourceCode.charAt(lastIndex + i);
            }
        }
        nameList.add(tmp);

I just started with Java. 
EDIT: longer sample of the source code I'm working with

"id":"483303","nan":"483303","version":59640,"productName":"cucumber","description":"detail":/PD1028378"}},"id":"1028378","nan":"1028378","version":27640,"productName":"bananas","description":

A:

it is a source code from a website, lokking like this "detail":"id":"483303","nan":"483303","version":59640,"productName":"cucumber","description":"detail":/PD1028378"}},"id":"1028378","nan":"1028378","version":27640,"productName":"bananas","description":

Java String class is a powerful class with lots of utility methods like indexOf or subString.  You can extract the product name the following way:
    ArrayList<String> nameList = new ArrayList<>();
    String[] tmpArray =  unmodifiedSourceCode.split("\"productName\":");
    for(int i=1; i < tmpArray.length; i++) {
        nameList.add(tmpArray[i].substring(1, tmpArray[i].indexOf("\"", 1)));
    }

