Hi @Luhhu !
It's funny how things come up here very similar to similar to something I've worked on recently. And to me, Code by Zapier is almost always the answer 😉
var firstName = '';
var middleName = '';
var lastName = '';
var fullName = inputData.fullName.trim();
var arrFullName = fullName.trim().split(' ');
var numNames = arrFullName.length;
if (fullName == '') { numNames = 0; } //only needed to reflect fullName is blank
switch (numNames) {
case 0:
break;
case 1:
firstName = arrFullName[0];
break;
case 2:
firstName = arrFullName[0];
lastName = arrFullName[1];
break;
default:
firstName = arrFullName[0];
lastName = arrFullName[numNames - 1];
var i;
for (i = 1; i < numNames - 1; i++) {
middleName += arrFullName[i] + ' ';
}
middleName = middleName.trim();
}
output = [{ firstName, middleName, lastName }];
So using your name as an example... wait, what is your name? Hmm, I seem to recall you're from across the pond, I have a theory ... here are sample results:
inputData.fullName:
numNames: 0
firstName:
middleName:
lastName:
inputData.fullName: Luhhu
numNames: 1
firstName: Luhhu
middleName:
lastName:
inputData.fullName: Luhhu Who
numNames: 2
firstName: Luhhu
middleName:
lastName: Who
inputData.fullName: Doctor Luhhu Who
numNames: 3
firstName: Doctor
middleName: Luhhu
lastName: Who
inputData.fullName: Doctor Lou Who Who
numNames: 4
firstName: Doctor
middleName: Lou Who
lastName: Who
Hope this helps!