常见字符串操作: C++ string 类 和Java String类 用法小结

来源:互联网 发布:九品网络电视 是什么 编辑:程序博客网 时间:2024/05/05 07:13

这两个类的用法的总结在网上实在是太多太多了,

这里我主要总结一下自己用得比较多的:

1.C++ string.

1.string 可以直接使用+,+=,<,>,==,<=,>=,=,[ ] 这些运算符,相当方便,其中的大小比较遵循字典序。

2.char* c_str(); 虽然字符数组并不好用,但很多时候在算法中scanf和printf会快一些,所以还得用到。

3.size_type length() const; 返回字符串长度,实际上这比strlen()要高效。size()的作用是一样的,为了和Java使用一样,我比较喜欢用length()。

4.basic_string substr(size_type pos = 0, size_type n = npos) const;  返回字符串的子串,传入起始和终止位置。

5.int compare(const basic_string& str) const; 相比用用运算符,这个函数我用得更习惯一些,它和Java差不多,并且返回值和strcmp()一样。

6.void reserve(); 字符串反转,经常使用。

7.size_type find(const basic_string& str) const; 在字符串中找出现的第一个str子串。

8.basic_string& replace(size_type p0, size_type n0,const basic_string& str); 把相应的起始位置、替换长度大小的子串替换成str。

9.char at(int index); 返回当前索引处的字符,会进行边界检查。


2.Java String

1.String 也可以直接使用+,+=,其它的就不好用了。

2.charAt(); Java中不能使用不安全的[ ]访问,只能用这个了。

3.length(); 和C++ 一样

4.compareTo(String anotherString)  和C++的compare基本一样。

5.equals(); 其实compareTo就够用了,不过有时候还是可以使用equals();

6.String replace(String str1, String str2);把原字符串中的所有出现的str1替换为str2,C++中没有直接提供这个功能...

7.split(String str); 按照提供的字符串或者默认为空格来分隔字符串,得到字符串数组。C/C++中的那个不是很好用...

8.substring(int beginIndex, int endIndex);  和C++一样。

9.各种valueOf();  把各种类型转化为字符串,C++标准中没有,我一般使用sprintf()来完成这个功能。

10.trim();  去掉字符串的前空白和后空白[空格],非常实用。

11.String类中没有reverse()方法,可以转化成StringBuffer类中的reverse()方法。


原创粉丝点击