JSFiddle - React, Tailwind, and code Playground

by John Wick

JavaScript

/* 
var s = [
'favorlink_hello',
'favorlink_hello_world',
'shared_bini',
'shared_bini_BINI',
'promotion_bini',
'promotion_bini_PH',
'user_tags_BINI',
'user_tags_bini_PH',
'user_tags__bini_PH_',
'user_tags_bini_PH_Bini_verse'
];
for(i=0; i < s.length; i++) {
  var name = '';
  var others = '';
  var parts = s[i].split('_');
  if (parts.length === 2) {
    name = parts.slice(1)[0];
  } else if (parts.length === 3) {
    if (parts[0] === 'promotion' ||
      parts[0] === 'shared' ||
      parts[0] === 'favorlink') {
      let parts2 = s[i].split('_');
      parts2.shift();
      name = parts2.join('_');
    } else {
      let parts2 = parts.slice(1);
      parts2.shift();
      name = parts2.join('_');
    }
  } else if (parts.length > 3) {
    others = parts.slice(2);
    name = others.join('_');
  }
  console.log(`${s[i]} ===== ${name}`);
}
 */

// Refactored version
const tt = [
  'favorlink_hello',
  'favorlink_hello_world',
  'shared_bini',
  'shared_bini_BINI',
  'promotion_bini',
  'promotion_bini_PH',
  'user_tags_BINI',
  'user_tags_bini_PH',
  'user_tags__bini_PH_',
  'user_tags_bini_PH_Bini_verse'
];

tt.forEach(item => {
  let name = '';
  const parts = item.split('_');
  if (parts.length === 2) {
    // Handle case with two parts
    name = parts[1];
  } else if (parts.length === 3) {
    // Handle case with three parts
    if (['promotion', 'shared', 'favorlink'].includes(parts[0])) {
      name = parts.slice(1).join('_');
    } else {
      name = parts.slice(2).join('_');
    }
  } else if (parts.length > 3) {
    // Handle case with more than three parts
    name = parts.slice(2).join('_');
  }

  console.log(`${item} ===== ${name}`);
});