Need to split a string by first occurence of specific character like '-' in 'this-is-test-data'. so what i want is when i do split it will return 'this' in zero index and rest in first index.

2 Answers 2


Use String.split(regExp, limit) method:

Documentation says

Returns a list that contains each substring of the String that is terminated by either the regular expression regExp or the end of the String.


String str = 'this-is-test-data';
List<String> res = str.split('-', 2);


15:16:58:001 USER_DEBUG [3]|DEBUG|(this, is-test-data)


One option is to use the substringBefore and substringAfter methods.

String delimiter = '-';
String input = 'this-is-test-data';
String firstSplit = input.substringBefore(delimiter); // 'this'
String lastSplits = input.substringAfter(delimiter);  // 'is-test-data'

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .