You can use the join method from String class like below to get the string of ids seperated by '|' operator: 

    String.join( new List<String>(String.join(new List<id>(setId), ',').split(',')) , '|' ));


EDIT: check for isNotBlank for every entry in the for loop:

Edit 2: Added empty check for setId.

          public static string getString(Set<Id> setId){
        
        String strId = '';
        if(setId != null && setId.size() > 0 ){
            for(Id RecordId :setId){  
                String strRecordId  ='';
                if(String.isNotBlank(RecordId)){
                    strRecordId = RecordId;
                    if(strRecordId.length() > 15){
                        strRecordId = strRecordId.substring(0,15);
                        strRecordId = '\''+ strRecordId + '\'';
                        strId += strRecordId + '|';
                    }                        
                }
                else{
                    strRecordId = '\' \'';
                    strId += strRecordId + '|';
                }
            }
        }
        else{
            strId = '\' \'';
        }
        strId = strId.removeEnd('|');
        return strId ;
    }