Rust语言里的字符串string

createh52周前 (12-14)技术教程14

每一种编程语言都需要处理字符串,

Rust编程语言里牵涉到字符串处理的有原始类型str以及string结构体。

str一般有两种叫法,一是字符串切片,另一个是字符串字面量。常出现的形式有&str, &'static str例子如下

str类型有很多你可以想到的方法处理字符串比如split,trim,replace


String类型的变量创建常用两种形式,一是从字符字面量创建,例子如下

另一种是从字符串切片的to_string方法创建,例子如下

当然还有其它方法比如,with_capacity, from_utf8,repeat等。

string类型提供push_str方法可以把字符串字面量加到现有字符串后面,还有push方法用来只增加一个字符。

truncate方法截取前面指定个数的字符。

pop方法从后朝前读取一个字符。

remove方法从头删除一个字符。

remove_matches查到并输出指定字符串。

retain方法删除指定字符保留其它的字符。

insert方法在现有字符串指定的位置插入字符。

insert_str在现有字符串的指定位置插入字符串切片。

split_off在现有字符串指定位置分割成两个字符串,第一个字符串依然保留在原有变量并且缓存容量不变,第二个字符串由这个方法返回。

split_at用来在现有字符串的指定位置分割返回一个元祖包含分割后的两部分字符串。

clear用来清除字符串内容,对缓存容量没影响。

replace_range在现有字符串指定位置范围用别的字符串切片替换。

is_empty来判断现有字符串是否空字符。

len获取现有字节数。

as_bytes把现有字符串转换成字节数组。

get用来获取现有字符串指定范围的字符串的option。

chars获取现有字符串切片的字符迭代器。

char_indices获取现有字符串切片的字符以及字符所在位置的迭代器。

lines按照换行符返回字符串的行迭代器。

contains判断现有字符串是否包含指定字符串。

starts_with判断现有字符串是否以指定字符开头。

find用来查找指定字符串的option类型的位置。

parse方法用来转换数值类型。


str和string是可以互相转换的,上面我们了解到string从str创建,string也提供as_str, as_mut_str方法来转换到str。

欢迎点击我的头像查看其它文章。

你知道的Java,Python,C语言里的string都有哪些功能呢

相关文章

推荐一个操作字符串超级好用的工具类——StringUtils 类

StringUtils 工具类1. StringUtils 工具类介绍StringUtils 是 JDK 提供的一个操作 String 字符串的工具类。他最大的特点就是对 null 是安全的 。如果输...

Java8的StringJoiner让字符串拼接更简单

你只会用 StringBuilder/ StringBuffer 拼接字符串?那你就 OUT 了!!如果需要拼接分隔符的字符串,建议使用 Java 8 中的这款拼接神器:StringJoiner,非常...

Why String is immutable in Java?

Why String is immutable in Java?String is immutable in Java. An immutable class is simply a class wh...

用了这么久的PageHelper,你知道原生的分页查询原理和步骤吗?

一、分页查询概述分页查询则是在页面上将本来很多的数据分段显示,每页显示用户自定义的行数。可提高用户体验度,同时减少一次性加载,内存溢出风险。1.1、分页查询分类1.1.1、真分页每次翻页从数据库中查询...

Java中的int与String互相转换方式

一、String转int有两种方式(1)Integer.parseInt(str)(2)Integer.valueOf(str).intValue()代码如下·:运行结果二、int转String有三种...

Java中的String、StringBuilder和StringBuffer三者的区别

String、StringBuilder和StringBuffer:String是一个商品StringBuffer/StringBuilder是生产这个商品的流水线,StringBuffer速度慢,但...