string類常用操作
int find_first_of(char c, int start = 0):
查詢字串中第1個出現的c,由位置start開始。 如果有匹配,則返回匹配位置;否則,返回-1.預設情況下,start為0,函式搜尋整個字串。
int find_last_of(char c):
查詢字串中最後一個出現的c。有匹配,則返回匹配位置;否則返回-1.
string str = "Mississippi";
int index;
// 's ' 在index 為 2、3、5、6處出現
index = str.find_first_of('s',0); // index為 2
index = str.find_first_of('s',4); // index為 5
index = str.find_first_of('s',7); // index為 -1
// ‘s’的最後出現在 index= 6
index = str.find_last_of('s');
// while 迴圈輸出每個'i'的index
while((index = str.find_first_of('i', index))!= -1)
{
cout << "index" << index << " ";
index++; // restart search at next indx
}
2.字串中提取連續字元序列,既子串。這個操作假定位置 start 和 字元數 count.
string substr(int start=0,int count= -1);
從起始位置開始複製字串中的count 個字元,並返回這些字元作為子串。如果字串尾部小於count字元或者count 為-1,則字串尾停止複製。如果不使用引數呼叫只包括位置start,則substr()返回從位置開始到字串尾部的子串。
find()函式在字串中查詢指定模式。該函式將字串s和位置start作為引數,並查詢s的匹配作為子串。
int find(const string& s,int start = 0):
string fullname = "Mark Tompkin", firstname, lastname;
int index;
index = str.find_last_of(' '); // index is 4
// firstname = "Mark" lastname = "Tompkin"
firstname = fullname.sub string(0,index);
lastname = fullname.substring(index+1);
index = fullname.find("kin"); // 在 index = 9 匹配 "Kin"
index = fullname.find("omp",0); // 在 index = 6 匹配 "omp"
index = fullname.find("omp",7); // index is -1 (無匹配)
3.新增和刪除字串字元連線(+、+=)是在字串尾新增字串。insert()函式擴充套件了這個能力,允許在任意位置新增字串。為了從字串。為了從字串中刪除字串,函式erase()可以從指定的位置開始刪除字元。
void insert(int statr,const string& s):
將子串s放入字串中,起始於位置start。插入操作增加了原始字串的長度。
void erase(int start=0,int count=-1):
從start開始,從字串中刪除count個字元。如果現有的字串少於count個字元,或者count為-1,則刪除到字串尾部的所有字元。預設情況下,start為0,函式從字串是起始位置開始刪除字串。預設情況下,函式也刪除到字串尾。需要注意的是,不使用引數呼叫erase()函式時,將把字串截斷為長度為0的空字串。示例:
string str = "endfile";
string s = "string object type";
str += " mark";
str.inset(3, "-of-"); // str 是 "end-of-file mark"
s.erase(7,7); // s 是 "string type"
// 從index 為3處刪除4個字元
s.erase(3,4);
cout << s; // 輸出:"strtype"
4.c_str()返回c語言風格字串的地址。將字串物件轉換為c語言風格字串。
char *c_str();
返回一個等價於字串物件的c語言風格字串的地址。返回型別char*表示c語言風格字串第1個字元的地址。示例:
string filename = "input.dat";
// open 要求檔名是c語言風格的字串
fin.open(filename.c_str());
5.分離字串路徑的方法處理檔案的程式可能要分析檔名。這種演算法要進行字串處理。檔案可以由路徑名指定,路徑名包括由分隔符"\"分割的名稱集。最後一個"\"前的名稱序列稱為路徑。最後一個名稱是檔名,還可能包括副檔名。路徑名 \class\programs\testfile.cpp
路徑 \class\programs\
檔名 testfile.cpp
副檔名 cpp
為了分析檔名,我們從鍵盤讀入完整的路徑名,並輸出路徑和檔名。如果檔名具有副檔名"cpp",則在建立可執行檔名時,將用"exe"替代副檔名"cpp".下面是程式結構的輪廓,以及如何使用字串函式的說明:
1.輸入檔名,使用函式find_last_of()在字串中搜索最後一個出現的"\"。這個字元確定了路徑的結尾和檔名的開始。
2。路徑是由最後一個"\"前所有字串組成的子串。檔名是最後一個"\"後的所有字元。使用最後一個"\"的位置和substr()提取出路徑和檔名。
3.副檔名是檔名中最好一個"."後的字串。呼叫find_last_of()搜尋最後一個匹配,則複製檔名,刪除當前副檔名,並新增新的副檔名"exe"。 輸出產生的可執行檔名。
// 檔案prg1_3.cpp
// 此程式提示使用者輸入檔案的路徑
// 它使用string類操作來識別並輸出
// 路徑名和檔名。如果檔名有
// 副檔名"cpp",則建立並輸出
// 可執行檔案的名稱,其副檔名為"exe",替換
// 副檔名"cpp"
// WJ.cpp : 定義控制檯應用程式的入口點。
//
#i nclude "stdafx.h"
#i nclude<iostream>
#i nclude<string>
相關推薦
string類常用操作
函式find_first_of()和 find_last_of() 執行簡單的模式匹配,如在字串中查詢單個字元c。函式find_first_of() 查詢在字串中第1個出現的字元c,而函式find_last_of()查詢最後一個出現的c。匹配的位置是返回值。如果沒有匹配發生,則函式返回-1.int find_
java String類常用操作
1.String物件內容的比較 Str1.equals(Str2) Str1.equalsIgnoreCase(Str2) == 比較的是引用,而equals()比較的是內容 2.String型別與其他型別的相互轉換 a.String轉int int myInt = In
String類操作的過載實現及String類常用成員函式
文章目錄 1,string 類操作的過載實現 2,String類提供的其他常用成員函式 1,string 類操作的過載實現 /* string 類操作的過載實現 */ class CMyStrin
String類和StringBuffer類常用操作
String類是字串常量,是不可更改的常量。而StringBuffer是字串變數,它的物件是可以擴充和修改的。StringBuffer在進行字串處理時,不生成新的物件,在記憶體使用上要優於String類。所以在實際使用時,如果經常需要對一個字串進行修改,例如插入、刪除等操
C++string類常用的操作函式
#include <iostream> #include <string>//必須包含該C++標頭檔案 using namespace std; int main() { //string物件的初始化,也就是建構函式與解構函式
java中String類常用方法、屬性等
col clas equal ack length ++ ava eal rgs package Head18; public class java09 { public static void main(String[] args) { St
Java面向對象-- String 類 常用方法及基本使用
for str news http clas substr 實例 div print 首先來學習基本使用Jdk api chm文檔: 點擊 左上角-顯示: 1, char chartAt(int index) 返回指定索引處的char值 這裏的index 是從0
Java面向物件-- String 類 常用方法及基本使用
首先來學習基本使用Jdk api chm文件: 點選 左上角-顯示: 1, char chartAt(int index) 返回指定索引處的char值 這裡的index 是從0開始的; package com.xuyigang1234.chp02.strin
Java學習——String類常用方法
學習視訊地址:https://www.imooc.com/learn/110 1.常用函式 例項: 執行結果: 2.==於eqauls()的區別 ==: 判斷兩個字串在記憶體中首地址是否相同,即判斷是否是同一個字串物件 e
菜雞的Java課筆記 第十四 String 類常用方法
/*String 類常用方法 將所有String類的常用方法全部記下來,包括方法名稱,引數作用以及型別 一個成熟的程式語言,除了它的語法非常完善之外,那麼也需要提供有大量的開發類庫 而需要知道的java
String類的操作的方法-am
1:字元和字串之間的方法 ps:系統方法的實現的部分,不要求記住(當然具體的實現的演算法可以檢視原始碼) 對於一個系統提供的方法我們需要關注的是,我們使用它幹什麼,輸入什麼(引數列表),名字是什麼(呼叫方法的名),返回值是什麼(處理的結果)。 //首先是將字元轉換為字串 pu
Java基礎-----String類常用方法
String類的判斷功能 1、boolean equals(Object obj):比較字串的內容是否相同,區分大小寫。 2、boolean equalsIgnoreCase(String str):比較字串的內容是否相同,忽略大小寫。 3、boolean contains(
C++ string類常用的函式
字串是一種線性表,有著廣泛的應用,比如:文字編輯 、 情報檢索 、 拼寫檢查 、 網際網路搜尋引擎和自然語言翻譯等。 string append(const char *s); &n
java:String類常用的一些方法
1、獲取長度: String str = "i am a student."; int str1=str.length(); 2、輸入下標,返回字元 String str = "i am a student.";//主串 char c = str.char
Java String類常用方法
Java String類常用方法 1.字串物件操作 2.字串物件修改 1.字串物件操作 方法 public int length():返回當前字串的長度 public char charAt(int
String類常用方法總結
連結:https://www.cnblogs.com/ABook/p/5527341.html https://blog.csdn.net/tomcmd/article/details/54881857
Java String類常用的函式及用法
一、字串轉化為字元陣列 toCharArray() 程式碼:char[] a=string.toCharArray(); 二、將字串轉化為數字 1,轉化為整數 int a=Integer.valueOf(string); 2,轉化成實數 double a=Do
Java中String類常用方法(轉)
轉自:https://blog.csdn.net/kaishizhangcheng/article/details/52332543int indexOf(String str)該方法用於返回當給定字串在當前字串中的位置,若當前字串不包含給定字串則返回-1。過載的方法int
String類常用方法(補充)
一.String類的方法 1.替換功能: 1).public String replace(char oldChar,char newChar):將字串中某一個字元用新的字元替換 2).public
如何替換指定位置的字串(另附String類常用方法)
如何替換指定位置的字串: 這裡給出字串的兩個位置,pos1和pos2, 如何替換pos1和pos2之間的字串 答:用subString , String.substring(0,pos1)+newString+String.substring(pos2+1) 另附ja