Самое главное, что нужно понять, это то, то split() принимает паттерн для регулярного выражения, а символ скобки является спец-символом, который нужно экранировать для его поиска. Таким же спец-символом является обратный слеш, но уже и для строки, а не только для регулярного выражения. Следовательно слеш также нужно экранировать.
В результате для передачи корректной строки регулярного выражения, мы должны отправить строку \(
, в которой нужно экранировать слеш в начале.
Получается в коде вы будете видеть string.split("\\(");