字元串操作( 五 )

8、字元串存取[ ], at() 用来存取单一字元。可以使用下标操作符[]和函式at()对元素包含的字元进行访问 。但是应该注意的是操作符[]并不检查索引是否有效(有效索引0~str.length()),如果索引失效,会引起未定义的行为 。而at()会检查,如果使用 at()的时候索引无效,会抛出out_of_range异常 。string str1 = "Iphone 5";cout<<str1[2]<<endl; // = h  cout<<str1.at(4)<<endl; // = nstring stuff;getline(cin,stuff); // 输入一行字元赋值给stuff  getline(cin,stuff,'!'); // 输入一行字元以“!”结束  cout<<stuff<<endl;9、查找函式查找函式很多,功能也很强大,包括了: find() rfind() find_first_of() find_last_of() find_first_not_of() find_last_not_of() 这些函式返回符合搜寻条件的字元区间内的第一个字元的索引,没找到目标就返回npos 。所有的函式的参数说明如下: 第一个参数是被搜寻的对象 。第二个参数(可有可无)指出string内的搜寻起点索引,第三个参数(可有可无)指出搜寻的字元个数 。JAVAScript字元串操作1、字元串转换字元串转换是最基础的要求和工作,可以将任何类型的数据都转换为字元串,主要使用下面三种方法:第一种:var num= 19; // 19var myStr = num.toString(); // "19"第二种:var num= 19; // 19var myStr = String(num); // "19"第三种:var num= 19; // 19var myStr = "" +num; // "19"2、字元串分割字元串分割,即将一个字元串分割为多个字元串,JavaScript中给我们提供了一个非常方便的函式,如:var myStr = "I,Love,You,Do,you,love,me";var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"];var arrayLimited = myStr .split(",", 3); // ["I", "Love", "You"];split()的第二个参数,表示返回的字元串数组的最大长度 。3、获取字元串长度字元串长度是在开发中经常要用到的,如下:var myStr = "I,Love,You,Do,you,love,me";var myStrLength = myStr.length; //254、查询子字元串很多人都会忘记这几个JavaScript的自带的方法,或者忘记它们的具体用法,从而导致在做题的时候不得不嵌套for循环来做 。第一个函式:indexOf(),它从字元串的开头开始查找,找到返回对应坐标,找不到返回-1 。如下:var myStr = "I,Love,you,Do,you,love,me";var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1第二个函式:lastIndexOf(),它从字元串的末尾开始查找,找到返回对应坐标,找不到返回-1 。如下: var myStr = "I,Love,you,Do,you,love,me";var index = myStr.lastIndexOf("you"); // 14以上两个函式同样接收第二个可选的参数,表示开始查找的位置 。5、字元串替换单单查到字元串应该还不会停止,一般题目都还经常会遇到让你查到并替换为你自己的字元串,例如:var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me"默认只替换第一次查找到的,想要全局替换,需要置上正则全局标识,如:var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me"