If you're sticking with vanilla Java (which I think is fine), then you're right that cleaning your String, splitting it, then converting to an ArrayList are 3 separate actions.
However, one thing that can clean up your solution a little is to realize replaceAll()'s first parameter is a regular expression instead of an exact String that replaceAll() checks for. So you can squish your method into:
String sample = "\"[\"1-72\",\"1-111\",\"157f9d3dfb4-4\"]\"";
sample = sample.replaceAll("\"|\\[|\\]", ""); //to replace double quote and braces
List<String> sampleList= Arrays.asList(sample.split(","));
sampleList.forEach(System.err::println);
It's debatable whether or not that's actually cleaner since we're checking for 3 characters in one method, but regex is pretty powerful, so keeping this in mind might help you find a more objectively cleaner option in the future if you need to do a bunch of manipulations to a Strings.
I'm not sure how familiar you are with regular expressions, you can read more here, but the idea with this one is that a |
pretty much means or
, so this will replace a character if it's a "
or a [
or a ]
.