C++的string 和Java的String有什么区别?
C++的string 和Java的String区别如下:
1,提取子串
String类提取子串的方法是substring方法,例如:String str = "hello"; String substr = str.subdtring(0,4);,在这里,第一个参数是起始位置,第二个参数是不想复制的第一个位置或者说是截止位置。结果就是"hel"。
2,字符串拼接
java语言与C++语言一样,都支持使用“+”来拼接字符串,例如:String str1 = "Hello "; String str2 = "java";String str3 = str1+str2。当将一个字符串与另一个非字符串(任何一个java对象都行)进行拼接时,后者会被转换为字符串。
在这里要说一种高效率的拼接字符串的方法:使用StringBuilder类来构建字符串,示例如下:
char c='a';
String str = "asas";
StringBuilder builder = new StringBuilder();
builder.append(c);
builder.append(str);
String mystr = builder.toString();
这样就可以将多个字符或者字符串拼接成字符串,而且效率比使用“+”要高。最后介绍一下StringBuffer类,他是StringBuilder的前身,其执行效率略低,但是其允许采用多线程的方式执行添加或删除字符的操作。
3,检测字符串相等
在C++中,我们判断两个字符转是否相等最简单的方法就是用“==”直接进行比较,这是因为C++重载了“==”运算符,以便检测字符串内容是否相等。但在java中,没有重载“==”运算符,所以不能使用“==”判断字符串内容是否相等,这个运算符只能检测两个字符串是否存储在同一位置,若存储在同一位置,则相等,返回true。当然,内容必然相等,但是存储在不同位置的字符串其内容也可能相等。
在java中,采用equals方法判断是否相等,例如:
String str1 ="qw";
String str2 = "asda";
boolean judge = str1.equals(str2);
若相等,返回true,否则,返回false。如果不区分大小写,则使用equalsIgnoreCase函数。
4,提取字符串上的字符。
在C++中,我们可以用“[]”来访问字符串的字符,例如string str = "C++is"; char c= str[1];但在java中,使用charAt()方法访问,例如:String str =“hello”; char s = str.charAt(2);
excel利用常用的两个函数提取字符串中的特定字符串,一起看看吧
在表格处理中,有时会需要从字符串中提取特定的字符串,我们利用常用的两个函数:LEFT()和find(),就能轻松完成,下面我们一起操作演示一下吧。
打开表格
将地址这一列中的字符串,提取出'区'之前的内容放入另一列中。
left(字符串,数值)这个函数,是从字符串左侧截取字符,数值表示截取的个数。left(字符串,5)表示:从字符串左侧截取5个字符。
find(“字符”,字符串,1):表示在字符串中查找"字符",第一次出现的位置,得出的结果是第几位。
find("区","东城区北二道街8号",1)得出的结果就是3。
如果是find("区","哈尔滨东城区北二道街8号",1)结果就是6。
下面我们组合公式:=LEFT(E4,FIND("区",E4,1)),表示:对E4单元格中的字符串从左侧提取FIND("区",E4,1)个字符。
提取的字符串填充在新列中。用鼠标左键拖动右下角小黑块下拉填充。
"区"之前的字符串被提取出来显示
现在我们提取复杂的字符串,从中间位置提取,我们用到mid(字符串,数值1,数值2),这个函数的意思是:从字符串第几位(数值1表示),提取几个(数值2)字符。
我们写组合公式:=MID(B4,FIND("(",B4,1)+1,FIND(")",B4,1)-(FIND("(",B4,1)+1)),(公式的含义是:从B4单元格字符串中的第几位(FIND("(",B4,1)+1),取多少位(FIND(")",B4,1)-(FIND("(",B4,1)+1)))。
公式运算结果正是我们要提取的数值。按住鼠标左键拖动,填充序列。
编号中的数值被全部提取出来。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!