I have to compare two string values in apex to determine whether they contain the same semicolon separated values or not (in any order). Could anyone please help me.

String str1 = 'Pay TV;AVOD;Basic TV';
String str2 = 'Basic TV;Pay TV;AVOD';

Thanks, Anil Kumar

  • Please take a look at How to Ask and help center. Every question should demonstrate your work and research effort towards solving a question. SFSE's model is not to provide code for requirements.
    – David Reed
    Jan 15, 2021 at 18:28

1 Answer 1


If you want to check if a string contains the same values as the other string but they aren't in the same order, you can load them to two sets and compare between them.

String str1 = 'Pay TV;AVOD;Basic TV'; 
String str2 = 'Basic TV;Pay TV;AVOD';
List<String> str1List = str1.split(';');
List<String> str2List = str2.split(';');
Set<String> str1Set = new Set<String>();
Set<String> str2Set = new Set<String>();

    system.debug('true'); // result: true
  • str1set == str2set would work just as well.
    – sfdcfox
    Jan 15, 2021 at 20:16

You must log in to answer this question.

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