Using replace with isalpha

I need to use replace with isalpha in the following code so that it removes spaces, hyphens, and apostrophes from “full name”.
However, I need the final output to include a space, hyphen, or apostrophe that may be in a person’s name.
I am very much a beginner, so I am sure I am going about this wrong.

while not (full_name:=input("Please enter your full name: ").replace(' ', '').replace('`', '').replace('-', '').strip().title()).isalpha():
    print("Your full name is not valid.")

print(f'Your full name has been validated.  It is: {full_name}')

Look closely at what you’re doing. Inside the parentheses, you’re inputting a name, then making some changes to it, then assigning it to ‘full_name’, so the assigned string will contain those changes.

Instead, you should be inputting a name and assigning it to ‘full_name’, and then, outside the parentheses, making the changes before checking whether it’s alphabetic.

I’m don’t know why you’re using .title(). It’s not needed for the test, and you shouldn’t be changing the capitalisation of the name from what was entered - you don’t want, say, “McDonald” changed to “Mcdonald”, because that’s incorrect.

Also, you should think carefully about whether you should be doing this kind of check anyway:
Falsehoods Programmers Believe About Names | Kalzumeus Software