Saya mencoba untuk membuat pipa dalam naskah yang akan membagi string PascalCase, tetapi akan lebih baik jika ini juga akan terpecah pada digit juga. Saya juga ingin membaginya dengan huruf kapital berturut-turut. Saya memiliki pipa ini, yang berfungsi dengan baik, kecuali hanya berfungsi di Chrome dan bukan Firefox, ternyata hanya Chrome yang mendukung tampilan belakang. Bagaimana bisa melakukan ini tanpa melihat ke belakang?
transform(value: string): string {
let extracted = '';
if (!value) {
return extracted;
}
const regExSplit = value
.split(new RegExp('(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[0-9])(?=[A-Z][a-z])|(?<=[a-zA-Z])(?=[0-9])'));
for (let i = 0; i < regExSplit.length; i++) {
if (i !== regExSplit.length - 1) {
extracted += `${regExSplit[i]} `;
} else {
extracted += regExSplit[i];
}
}
return extracted;
}
Jadi misalnya string ANet15Amount
harus diubah menjadi A Net 15 Amount
. Regex ini di atas juga akan memisahkan string camelCase, tetapi itu tidak perlu dipertimbangkan.
(?!^)([A-Z]|\d+)
menghindari ruang pertama dan tidak perlu langsing.
.replace(/([A-Z]|\d+)/g, " $1").trim();