定义一个字符串类STR,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为"cocoon",删除重复出现的字符后,其结果是字符串"con"。
时间: 2023-07-14 13:12:55 浏览: 177
以下是一个实现该功能的STR类的示例代码:
```python
class STR:
def __init__(self, string):
self.string = string
def remove_duplicates(self):
unique_chars = []
for char in self.string:
if char not in unique_chars:
unique_chars.append(char)
self.string = ''.join(unique_chars)
def __str__(self):
return self.string
```
使用方法如下:
```python
s = STR('cocoon')
s.remove_duplicates()
print(s) # 输出 'con'
```
在 `remove_duplicates` 方法中,我们定义了一个空列表 `unique_chars` 来存储字符串中出现过的唯一字符。我们遍历字符串中的每个字符,如果该字符不在 `unique_chars` 中,我们就添加它。最后,我们使用 `''.join()` 方法将 `unique_chars` 中的字符连接起来,形成一个新的字符串,并将其赋值给 `self.string` 属性。在 `__str__` 方法中,我们只是返回 `self.string` 属性的值。
需要注意的是,这个实现方法只能检测相邻的重复字符。如果一个字符在字符串中出现了多次但不相邻,它们仍然会被保留。例如,字符串 "hello" 会变成 "helo",而不是 "helo"。
阅读全文