507 Stimmen

Wie schneidet man eine Dateierweiterung aus einem String in JavaScript ab?

Zum Beispiel, wenn man annimmt, dass x = filename.jpg Ich möchte eine filename , donde filename kann ein beliebiger Dateiname sein (nehmen wir zur Vereinfachung an, dass der Dateiname nur [a-zA-Z0-9-_] enthält).

Ich sah x.substring(0, x.indexOf('.jpg')) en DZone Schnipsel würde aber nicht x.substring(0, x.length-4) besser abschneiden? Darum, length ist eine Eigenschaft und führt keine Zeichenprüfung durch, während indexOf() ist eine Funktion und führt eine Zeichenprüfung durch.

0voto

Alan Dong Punkte 3731

Sie können verwenden path zu manövrieren.

var MYPATH = '/User/HELLO/WORLD/FILENAME.js';
var MYEXT = '.js';
var fileName = path.basename(MYPATH, MYEXT);
var filePath = path.dirname(MYPATH) + '/' + fileName;

Ausgabe

> filePath
'/User/HELLO/WORLD/FILENAME'
> fileName
'FILENAME'
> MYPATH
'/User/HELLO/WORLD/FILENAME.js'

0voto

Carson Punkte 3411

Ich verwende dazu gerne die Regex. Sie ist kurz und leicht zu verstehen.

for (const regexPattern of [
  /\..+$/,  // Find the first dot and all the content after it.
  /\.[^/.]+$/ // Get the last dot and all the content after it.
  ]) {
  console.log("myFont.ttf".replace(regexPattern, ""))
  console.log("myFont.ttf.log".replace(regexPattern, ""))
}

/* output
myFont
myFont
myFont
myFont.ttf
*/

Die obige Erklärung ist vielleicht nicht sehr genau. Wenn Sie eine genauere Erklärung erhalten möchten, besuchen Sie bitte regex101 zur Kontrolle

-1voto

SorinN Punkte 164

Ein weiterer One-Liner - wir nehmen an, dass unsere Datei ein jpg-Bild ist >> ex: var yourStr = 'test.jpg';

    yourStr = yourStr.slice(0, -4); // 'test'

-1voto

ishandutta2007 Punkte 14498
x.slice(0, -(x.split('.').pop().length + 1));

-2voto

mahendren Punkte 1026
name.split('.').slice(0, -1).join('.')

Das war's. Viel Spaß beim Codieren...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X