Преобразуйте все символы названия вашей комнаты в строчные (или прописные) буквы перед подключением и перед отправкой сообщений.
Сторона сервера:
io.on('connection', function(socket){
// Join the room
socket.on('join', function(room){
socket.join(room.toLowerCase());
}
// Send message to room
socket.on('message', function(data){
socket.broadcast.to(data.room.toLowerCase()).emit('message', data.message);
}
});
Сторона клиента:
socket.emit('join', 'RoOmNaMe');
socket.emit('message', { room: 'rOoMnAmE', message: 'Some message...'});
Вы используете whitespaceAndNewlineCharacterSet, хороший. Но вместо того, чтобы использовать scanUpToCharactersFromSet, почему бы не использовать stringByTrimmingCharactersInSet? Что-то вроде этого...
strResult = [strResult stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
РЕДАКТИРОВАНИЕ: не понял, что Вы уже нашли stringByTrimmingCharactersInSet, пока я не отправил это.
То, что вы ищете, это
[string stringByReplacingOccurrencesOfString:@" " withString:@""]
.
Удаление пробелов в середине строки не называется «обрезкой».
Обрезка по определению работает от краев.