实现一个方法,接收一个字符串和一个字符,将字符串中间四位按指定符号隐藏,指定符号为*号码,接收的字符串小于或等于四位时,返回同样长度的符号串,字符串长度大于四位的奇数时,隐藏中间四位,奇数多出来的在末尾隐藏,
时间: 2024-03-06 07:51:08 浏览: 37
Labview10进制浮点数IEEE754与字符串16进制之间的转换
好的,可以使用以下代码实现:
```python
def hide_middle_four(string, symbol='*'):
length = len(string)
if length <= 4:
return symbol * length
elif length % 2 == 0:
# 字符串长度为偶数,隐藏中间四位
middle = length // 2
return string[:middle-2] + symbol*4 + string[middle+2:]
else:
# 字符串长度为奇数,隐藏中间四位,多出来的在末尾隐藏
middle = length // 2
return string[:middle-2] + symbol*4 + string[middle+1:]
```
使用示例:
```python
>>> hide_middle_four('123456789') # 隐藏中间四位
'1234****89'
>>> hide_middle_four('12345678') # 隐藏中间四位
'12**5678'
>>> hide_middle_four('1234') # 返回同样长度的符号串
'****'
>>> hide_middle_four('12') # 返回同样长度的符号串
'**'
```
阅读全文