C++ 常用类 string类

===6.3.2使用string对象===

string word="I love China"

*链接字符串*

string description=adjective  + " " + word;

_Note_: 不能连接两个字符串字面量,下面的语句是错误的

string test= "I have" + "a dream";

===6.3.3访问字符串中的字符===

*读取字符串*

getline(cin, text);

getline(cin, text, ‘#‘)_;

word[index];

===6.3.4访问子字符串===

* substr(index0, length);

string phrase = "the higher the fewer";

string wold= phrase.substr(4,6 );

===6.3.5比较字符串===

*操作符*

> >= < !=

*compare()*

world.compare("end");

word.compare(2, 4, "end");

===6.3.6搜索字符串:find===

string sentence = "Manners maketh man";

int a= sentence.find("man");

int b= sentence.find("man", index);//从index开始搜索

如果没有找到,返回~~string:npos~~

*搜索字符集*

string separeators= " ,.\"";

sentence.find_first_of(separeators);

sentence.find_last_of(separeators);

sentence.find_last_not_of(separeators);

sentence.find_first_not_of(separeators);

*逆向搜索*

sentence.rfind("man");

===6.3.7修改字符串:insert、replace、erase===

*1.insert*

_`mystring.insert(index, anotherstring)`

sentence.insert(13, world, 8, 5);//从index=8开始之后的5个字符

把几个相同字符串插入到string对象中:sentence.insert(index,times, string);

*2.replace*

将从index开始的num个字符,替换成新的string:sentence.replace(index, num, string);

*3.erase*

删除从index开始的num个字符:sentence.erase(index, num);

===6.3.8注意事项===

1) append函数与char 和char*

append函数的原型如下:

string& append (const string& str);

string& append (const string& str, size_t subpos, size_t sublen);

string& append (const char* s);

string& append (const char* s, size_t n);

string& append (size_t n, char c);

注意,char* 和char用作append的参数时候,例如,想在string尾部增加一个字符,需要用mystring.append(1, ch) 而不是mystring.apend(ch). 同样,想将chars的其中一部分插入string中,需要用mystring.append(s+a, b-a)

注意,如果仅仅想增加一个字符,使用push_back即可

string 详解

1.*string constructor*

default (1) string();

copy (2) string (const string& str);

substring (3) string (const string& str, size_t pos, size_t len = npos);

from c-string (4) string (const char* s);

from buffer (5) string (const char* s, size_t n);

fill (6) string (size_t n, char c);

range (7) template <class InputIterator>

string  (InputIterator first, InputIterator last);

// string constructor
#include <iostream>
#include <string>

int main ()
{
  std::string s0 ("Initial string");
  // constructors used in the same order as described above:
  std::string s1;
  std::string s2 (s0);
  std::string s3 (s0, 8, 3);
  std::string s4 ("A character sequence", 6);
  std::string s5 ("Another character sequence");
  std::string s6 (10, 'x');
  std::string s7a (10, 42);      // 42 is the ASCII code for '*'
  std::string s7b (s0.begin(), s0.begin()+7);
  std::cout << "s1: " << s1 << "\ns2: " << s2 << "\ns3: " << s3;
  std::cout << "\ns4: " << s4 << "\ns5: " << s5 << "\ns6: " << s6;
  std::cout << "\ns7a: " << s7a << "\ns7b: " << s7b << '\n';
  return 0;
}
**output**:
s1:
s2: Initial string
s3: str
s4: A char
s5: Another character sequence
s6: xxxxxxxxxx
s7a: **********
s7b: Initial

2.迭代器:

begin();

end();

3.capacity:

size();

length();

clear();

empty();

4.Element Access:

operator[]

at()

back();

front();

5.Modifier

operator+=

append()

push_back()

assign()

insert()

erase()

replcace();

swap();

pop_back();

6.String Operations:

copy();

find();

find_first_of();

find_last_of();

find_first_not_of();

find_last_not_of();

substr();

compare();

7.Member constants:

npos

8.Non-member function overloads:

getline();

C++ 常用类 string类,布布扣,bubuko.com

时间: 2024-10-11 21:13:56

C++ 常用类 string类的相关文章

java11-1 最常见的类 String类

字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 通过查看API,可以知道 A:字符串字面值"abc"也可以看成是一个字符串对象. B:字符串是常量,一旦被赋值,就不能被改变. 构造方法: public String():空构造 public String(byte[] bytes):把字节数组转成字符串 public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串 public String(char[

Java的——String类、StringBuffer和StringBuilder、不可变和可变字符序列使用陷阱

Java的知识点21--String类.StringBuffer和StringBuilder.不可变和可变字符序列使用陷阱 原文链接 https://blog.csdn.net/qq_39368007/article/details/84033272 String类 String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为"不可变对象" substring()是对字符串的截取操作,但本质是读取原字符串内容生成了新的字符串. String测试代码 pac

String类之endsWith方法---&gt;检测该字符串以xx为结尾

endsWith(XX)方法是java内置类String类的一个内置方法,我们直接拿来用即可了,下边是api说明:检测该字符串以xx为结尾,结果返回布尔值 public class Demo { public static void main(String[] args) { String Str="神雕侠侣.mp4"; System.out.println(Str.endsWith(".mp4")); } } true

2017-9-19C#笔记(LinQ标准运算符,String类,String方法,结构体,静态构造函数,枚举类型,位标识)

在LINQ中的标准查询运算符 写LINQ的时候有两种语法:查询语法和方法语法,其中方法语法是命令形式的,它使用的是标准的方法调用.方法是一组叫做标准查询运算符的方法. 标准查询运算符有一系列叫做API的方法组成,他能让我们查询任何.NET数据集合.有关标准查询运算符的重要特性如下: (1)       被查询的结合对象叫做序列,它必须实现IEnumerable<T>接口, T是类型: (2)       标准查询运算符使用方法语法 (3)       一些运算符返回IEnumberable对象

[Java] String类, StringBuffer类

1. String 类 1. 创建: String s1 = new String; s1 = "abc"; String s2 = new String("abc"); char c[] = {'a', 'b', 'c'}; String s3 = new String(c); String s4 = "abc"; 1. 常用方法 2.1 int length() 返回字符串的长度 2.2 char charAt(int index) 返回字符

【Java-常用类】String类,StringBuffer类,StringBuilder类

String类 String类是一个final类,代表不可变的字符串序列 字符串是不可变的,一个字符串一旦被分贝,其内容是不可变的 字符串中判断对象相等是"=",判断内容相等是"equals()": String s1 = "ttf"; String s2 = "java"; String s3 = "java"; String s4 = new String("java"); Stri

C++string类整理

string类 string类 头文件:#include<string> 名称空间:using namespace std; 初始化: string Str; String类的构造函数和析构函数如下: string s(str) //拷贝构造函数 生成str的复制品 string s(str,stridx) //将字符串str内"始于位置stridx"的部分当作字符串的初值 string s(str,stridx,strlen) //将字符串str内"始于stri

Java基础—API及Object类和String类

Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可. 1.Object类  Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.所有类在创建对象的时候,最终找的父类就是Object.   equals方法    equals方法,用于比较两个对象

第五周学习总结&amp;第三次实验报告(String类的应用)

第五周学习总结 1.学习了继承的相关知识点: (1) 继承的格式为class 子类 extends 父类{} (2) 继承实际上是通过子类去扩展父类的功能 (3) 一个子类只能继承一个父类,也就是说,继承只允许多层继承不能多重继承 (4) 子类不能直接访问父类中的私有属性,但是可以调用父类中的getter或者setter去访问 (5) 子类对象在实例化之前必须首先调用父类中的构造方法再调用子类自己的构造方法,子类也可以直接使用super()调用父类中的无参构造 (6) 方法的覆写即子类定义了与父