Lấy tên tệp không có phần mở rộng javascript

Trong bài viết này, chúng tôi xin hướng dẫn bạn cách lấy tên tệp không có phần mở rộng từ đường dẫn trong Node. js

1. Nhập mô-đun path bằng cách sử dụng

const path = require('path');

2. Sử dụng phương thức path.extname() với đường dẫn bạn muốn lấy tên tệp làm đối số để lấy phần mở rộng tệp. Chúng ta cần biết phần mở rộng của tệp để có thể loại bỏ nó trong bước tiếp theo

3. Sử dụng phương thức path.basename() với đường dẫn và đối số extension tùy chọn để phần mở rộng tệp sẽ bị xóa chỉ để lại tên tệp

Trong giải pháp này, chúng tôi đã sử dụng vòng lặp 
const path = require('path');
1 để lặp qua mảng 
const path = require('path');
2, nhưng bạn có thể sử dụng bất kỳ phương pháp nào khác từ bài viết sau

Để lấy tên tệp không có đường dẫn, hãy gọi phương thức replace() với biểu thức chính quy sau. /^.*[\\\/]/ làm tham số đầu tiên và một chuỗi rỗng làm tham số thứ hai

Phương thức sẽ trả về một chuỗi chỉ chứa tên tệp

Đối với giải pháp không phải regex, hãy cuộn xuống đoạn mã tiếp theo

Chúng tôi đã tạo một hàm có thể sử dụng lại, có đường dẫn đầy đủ và trả về tên tệp

Ta truyền 2 tham số sau vào String. phương pháp thay thế

  1. Một biểu thức chính quy mà chúng tôi muốn so khớp trong chuỗi
  2. Sự thay thế cho khớp của biểu thức chính quy - trong trường hợp của chúng tôi là một chuỗi trống, vì chúng tôi muốn xóa mọi thứ cho đến tên tệp

Các dấu gạch chéo về phía trước đánh dấu sự bắt đầu và kết thúc của biểu thức chính quy

Ký tự dấu mũ ^ khớp với phần đầu của đầu vào (phần đầu của chuỗi)

Dấu chấm . khớp với bất kỳ ký tự đơn nào và dấu hoa thị * khớp với ký tự trước đó không hoặc nhiều lần hơn

Dấu ngoặc vuông [] được gọi là một lớp ký tự và trong lớp ký tự, chúng tôi khớp dấu gạch chéo ngược và dấu gạch chéo lên

Chúng tôi đã phải thoát khỏi dấu gạch chéo ngược và dấu gạch chéo lên bằng một dấu gạch chéo ngược khác, bởi vì ký tự dấu gạch chéo ngược có một ý nghĩa đặc biệt trong các biểu thức chính quy

Trong toàn bộ, biểu thức chính quy khớp với dấu gạch chéo xuôi hoặc ngược và bất kỳ ký tự nào ở đầu chuỗi cho đến dấu gạch chéo xuôi hoặc ngược cuối cùng

Nếu bạn cần trợ giúp để đọc một biểu thức chính quy, hãy đánh dấu trang tóm tắt biểu thức chính quy này từ MDN. Đó là cái tốt nhất hiện có

Điều này sẽ hoạt động cho cả đường dẫn windows (dấu gạch chéo ngược) và Unix (dấu gạch chéo về phía trước)

Phương thức replace không thay đổi chuỗi gốc nên bạn phải gán kết quả cho một biến. Các chuỗi là bất biến trong JavaScript

Ngoài ra, bạn có thể sử dụng phương pháp substring

Lấy tên tệp không có đường dẫn bằng substring()

Sử dụng phương pháp substring() để lấy tên tệp mà không cần đường dẫn, e. g. fullPath.substring(fullPath.lastIndexOf('/') + 1). Phương thức substring sẽ trả về một chuỗi mới chỉ chứa các ký tự sau dấu gạch chéo cuối cùng

Tham số duy nhất chúng tôi chuyển đến Chuỗi. phương thức chuỗi con là chỉ mục của ký tự đầu tiên được đưa vào chuỗi được trả về

Chúng tôi đã sử dụng Chuỗi. lastIndexOf để lấy chỉ mục của dấu gạch chéo cuối cùng trong chuỗi và thêm /^.*[\\\/]/1 vào kết quả vì chúng tôi muốn loại trừ dấu gạch chéo cuối cùng khỏi kết quả

Lưu ý rằng phương pháp này chỉ xử lý các đường dẫn tệp có dấu gạch chéo về phía trước. Nếu bạn cần xử lý dấu phân cách dấu gạch chéo ngược, bạn có thể cập nhật đối số mà chúng tôi đã chuyển đến /^.*[\\\/]/2. Nếu bạn cần xử lý cả hai, hãy sử dụng phương thức replace với biểu thức chính quy từ đoạn mã đầu tiên

Phương thức /^.*[\\\/]/4 trả về chỉ số của lần xuất hiện cuối cùng của một chuỗi con trong một chuỗi

Nếu chuỗi con không được chứa trong chuỗi, phương thức sẽ trả về /^.*[\\\/]/5 và phương thức substring sẽ trả về toàn bộ chuỗi

Nếu môi trường của bạn là Node. js, bạn có thể sử dụng mô-đun /^.*[\\\/]/7 tích hợp

Lấy tên tệp không có đường dẫn bằng path()

Để lấy tên tệp không có đường dẫn trong Nút. js

  1. Nhập mô-đun /^.*[\\\/]/7
  2. Truyền chuỗi đường dẫn đầy đủ cho phương thức /^.*[\\\/]/9
  3. Hàm sẽ trích xuất tên tệp từ đường dẫn đầy đủ

Phương thức ^0 trả về phần cuối cùng của đường dẫn

Nó lấy đường dẫn đủ điều kiện làm tham số, trích xuất và trả về tên tệp

Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Nếu tôi chỉ cần xử lý các dấu phân cách tiến hoặc lùi trong đường dẫn, tôi sẽ sử dụng phương thức substring vì nó dễ đọc và có thể được sử dụng trong cả Nút. js và trình duyệt

Làm cách nào để xóa phần mở rộng khỏi tên tệp trong javascript?

Câu trả lời này khá hạn chế đối với nút phía máy chủ. Nếu bạn cố gắng sử dụng mã này trong mã phản ứng, có vẻ như nó không được nhập. .
nếu bạn muốn xóa tiện ích mở rộng khỏi đường dẫn bao gồm các thư mục, bạn có thể thực hiện var parsed = path. phân tích cú pháp (tên tệp) theo sau là đường dẫn. .
Một khả năng khác là let base = path

Làm cách nào để lấy tên tệp bằng JavaScript?

Giải thích .
var url = cửa sổ. vị trí. tên đường dẫn;
tên tệp var = url. chuỗi con (url. lastIndexOf('/')+1);
var url = cửa sổ. vị trí. tên đường dẫn; . chuỗi con (url. lastIndexOf('/')+1);

Làm cách nào để lấy tên tệp không có phần mở rộng trong nút js?

Fs. tên tệp (đường dẫn) . trả về tên tệp không có phần mở rộng.

Làm cách nào để lấy tên hình ảnh không có phần mở rộng trong javascript?

Để lấy tên tệp không có phần mở rộng trong Node. js, sử dụng phương thức parse() từ mô-đun đường dẫn để lấy một đối tượng đại diện cho đường dẫn . Thuộc tính name của đối tượng này sẽ chứa tên tệp không có phần mở rộng.