لتحقيق هذا، يمكنك استخدام تعبيرات القوالب (Regular Expressions) في جافا سكريبت لتحويل المسارات كما تريد. إليك كيفية تنفيذ ذلك:
javascriptfunction moveOneFolderBefore(path) {
return path.replace(/(\.\.\/)+/g, function(match) {
return match.slice(0, -3);
});
}
var str = "../../myfolder";
var str0 = "../myfolder";
var str1 = "../../../myfolder";
str = moveOneFolderBefore(str);
str0 = moveOneFolderBefore(str0);
str1 = moveOneFolderBefore(str1);
console.log(str); // Output: "../myfolder"
console.log(str0); // Output: "myfolder"
console.log(str1); // Output: "../../myfolder"
تعبير القالب (\.\.\/)+
يبحث عن أي عدد من التسلسلات “.. /” في المسار ويحلها بشكل صحيح. دالة replace
تأخذ هذا النمط وتقوم بتحويله إلى المسار المطلوب.
المزيد من المعلومات
بالتأكيد، هنا بعض المعلومات الإضافية حول تعبيرات القوالب التي استخدمتها في الكود:
-
/(\.\.\/)+/g
: هذا الجزء من النمط يستخدم للبحث عن أي عدد من التسلسلات “.. /” في المسار. الفقرة(\.\.\/)
تعني “.. /” بحيث\.
تعني “.” و\/
تعني “/”. و+
تعني أن التسلسل يمكن أن يتكرر مرات عديدة. -
function(match) { return match.slice(0, -3); }
: هذا هو الجزء الذي يقوم بتحويل التسلسلات “.. /” إلى المسار المطلوب. دالةslice
تستخدم لإزالة ثلاث حروف من نهاية التسلسل، لذلك تحول “.. /” إلى “../”.
الوسوم
javascript تعبيرات القوالب