模拟实现一个简单的string类

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 这个示例中,定义了一个简单的 `MyString`类,包含了常用的字符串操作,比如初始化、字符串拼接、长度获取、索引访问、大小写转换、相等判断等功能。请根据需求进行适当的修改和扩展。买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云

自定义一个简单的String类示例(Python风格):

class MyString:
    def __init__(self, value=""):
        self.value = value

    def __str__(self):
        return self.value

    def __len__(self):
        return len(self.value)

    def __getitem__(self, index):
        return self.value[index]

    def __setitem__(self, index, char):
        temp_list = list(self.value)
        temp_list[index] = char
        self.value = ''.join(temp_list)

    def __add__(self, other):
        return MyString(self.value + str(other))

    def __eq__(self, other):
        return self.value == str(other)

    def __contains__(self, item):
        return item in self.value

    def upper(self):
        return MyString(self.value.upper())

    def lower(self):
        return MyString(self.value.lower())

# 示例用法
s1 = MyString("Hello")
s2 = MyString("World")
print(s1 + " " + s2)  # 输出: Hello World
print(len(s1))        # 输出: 5
print(s1[1])          # 输出: e
s1[0] = "h"
print(s1)             # 输出: hello
print(s1.upper())     # 输出: HELLO
print("ello" in s1)   # 输出: True
print(s1 == "hello")  # 输出: True

这个示例中,定义了一个简单的 MyString类,包含了常用的字符串操作,比如初始化、字符串拼接、长度获取、索引访问、大小写转换、相等判断等功能。请根据需求进行适当的修改和扩展。

目录
相关文章
|
5天前
|
Java 编译器 ice
【Java开发指南 | 第十五篇】Java Character 类、String 类
【Java开发指南 | 第十五篇】Java Character 类、String 类
24 1
|
5天前
|
存储 C++ 容器
C++入门指南:string类文档详细解析(非常经典,建议收藏)
C++入门指南:string类文档详细解析(非常经典,建议收藏)
47 0
|
5天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
21 1
|
5天前
|
C语言 C++ 容器
C++ string类
C++ string类
9 0
|
5天前
|
编译器 C++
【C++】继续学习 string类 吧
首先不得不说的是由于历史原因,string的接口多达130多个,简直冗杂… 所以学习过程中,我们只需要选取常用的,好用的来进行使用即可(有种垃圾堆里翻美食的感觉)
9 1
|
5天前
|
算法 安全 程序员
【C++】STL学习之旅——初识STL,认识string类
现在我正式开始学习STL,这让我期待好久了,一想到不用手撕链表,手搓堆栈,心里非常爽
16 0
|
5天前
|
存储 安全 测试技术
【C++】string学习 — 手搓string类项目
C++ 的 string 类是 C++ 标准库中提供的一个用于处理字符串的类。它在 C++ 的历史中扮演了重要的角色,为字符串处理提供了更加方便、高效的方法。
18 0
【C++】string学习 — 手搓string类项目
|
5天前
|
C++
【C++】string类(介绍、常用接口)
【C++】string类(介绍、常用接口)
18 2
|
5天前
|
存储 网络协议 Java
Java String类
Java String类
13 0
|
5天前
|
存储 安全 C语言
【C++】string类
【C++】string类