Swift URL values can separate a file name from its extension.

Split a file name

file_extensions.swift
import Foundation

let fileName = 
let url = URL(fileURLWithPath: fileName)
let base = url.deletingPathExtension().lastPathComponent
let ext = url.pathExtension
let message = "base=\(base) ext=\(ext)"

print(message)
import Foundation

let fileName = 
let url = URL(fileURLWithPath: fileName)
let base = url.deletingPathExtension().lastPathComponent
let ext = url.pathExtension
let message = "base=\(base) ext=\(ext)"

print(message)
import Foundation

let fileName = 
let url = URL(fileURLWithPath: fileName)
let base = url.deletingPathExtension().lastPathComponent
let ext = url.pathExtension
let message = "base=\(base) ext=\(ext)"

print(message)
file extension `pathExtension` reads the extension, and `deletingPathExtension` keeps the base name.