Cho một chuỗi S bao gồm các bảng chữ cái, số và các ký tự đặc biệt.
Chúng ta cần viết một chương trình để chia các chuỗi thành ba chuỗi khác nhau S1, S2 và S3, sao cho
- Chuỗi S1 sẽ chứa tất cả các bảng chữ cái có trong S,
- Chuỗi S2 sẽ chứa tất cả các số có trong S và
- S3 sẽ chứa tất cả các ký tự đặc biệt có trong S
Các chuỗi S1, S2 và S3 phải có các ký tự theo thứ tự như khi chúng xuất hiện trong đầu vào.
Ví dụ
Sau đây là mã -
const str = "Th!s String C0nt@1ns d1fferent ch@ract5rs"; const seperateCharacters = str => { const strArr = str.split(""); return strArr.reduce((acc, val) => { let { numbers, alpha, special } = acc; if(+val){ numbers += val; }else if(val.toUpperCase() !== val.toLowerCase()){ alpha += val; }else{ special += val; }; return { numbers, alpha, special }; }, { numbers: '', alpha: '', special: '' }); }; console.log(seperateCharacters(str));
Đầu ra
Sau đây là đầu ra trong bảng điều khiển -
{ numbers: '115', alpha: 'ThsStringCntnsdfferentchractrs', special: '! 0@ @' }