w3resource

Python: Replace all but the last five characters of a given string into "*" and returns the new masked string


Mask All But Last Five Characters

Write a Python program that replaces all but the last five characters of a string with "*" and returns the modified string.

Sample Solution:

Python Code:

# Define a function named new_string that takes a string (str1) as an argument.
def new_string(str1):
    # Create a new string composed of '*' repeated (len(str1) - 5) times, followed by the last 5 characters of the original string.
    return '*' * (len(str1) - 5) + str1[-5:]
	
# Test the function with different strings and print the results.

# Test case 1
text = "kdi39323swe"
# Print the original string.
print("Original String: ", text)
# Print the new string generated by the function.
print("new string: ", new_string(text))

# Test case 2
text = "12345abcdef"
# Print the original string.
print("\nOriginal String: ", text)
# Print the new string generated by the function.
print("new string: ", new_string(text))

# Test case 3
text = "12345"
# Print the original string.
print("\nOriginal String: ", text)
# Print the new string generated by the function.
print("new string: ", new_string(text))

Sample Output:

Original String:  kdi39323swe
new string:  ******23swe

Original String:  12345abcdef
new string:  ******bcdef

Original String:  12345
new string:  12345

Explanation:

Here is a breakdown of the above Python code:

  • Function definition:
    • The code defines a function named "new_string()" that takes a string (str1) as an argument.
  • String Composition:
    • The function creates a new string by concatenating '*' repeated (len(str1) - 5) times and the last 5 characters of the original string (str1[-5:]).
  • Test cases:
    • The function is tested with different strings, and the original strings along with the new strings are printed.

Visual Presentation:

Python: Replace all but the last five characters of a given string into '*' and returns the new masked string.
Python: Replace all but the last five characters of a given string into '*' and returns the new masked string.

Flowchart:

Flowchart: Python - Replace all but the last five characters of a given string into '*' and returns the new masked string.

For more Practice: Solve these Related Problems:

  • Write a Python program to replace all characters in a string except the last five with asterisks.
  • Write a Python program to generate a masked version of a string that shows only the final five characters.
  • Write a Python program to create a new string that hides all but the last five characters using slicing.
  • Write a Python program to mask the beginning portion of a string while preserving its last five characters.

Go to:


Previous: Write a Python program to compute the sum of the three lowest positive numbers from a given list of numbers.
Next: Write a Python program to count the number of arguments in a given function.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.