how can you delete an unpaid and expired invoice from lightning?
You can’t do that currently.
I use in lnd.conf this line:
Mark unpayable, unpaid invoices as deleted
More detailes about lnd.conf on LND github page - but I suggest caution. Do that only if you really understand what are you doing. Any wrong line in that lnd.conf file can break your node and you will need to stop it and troubleshoot your lnd.conf again.