I have a comma separated file with many lines similar to one below.
Sachin,,M,\"Maths,Science,English\",Need to improve in these subjects.
If your strings are all well-formed it is possible with the following regular expression:
String[] res = str.split(",(?=([^\"]|\"[^\"]*\")*$)");
The expression ensures that a split occurs only at commas which are followed by an even (or zero) number of quotes (and thus not inside such quotes).
Nevertheless, it may be easier to use a simple non-regex parser.