如何在串中刪除特定長度的子串
來源:易賢網 閱讀:1284 次 日期:2015-08-25 15:36:41
溫馨提示:易賢網小編為您整理了“如何在串中刪除特定長度的子串”,方便廣大網友查閱!

昨天我們寫了如何在串中插入另外一個串,那么今天我們來看看對應的操作:如何在串中刪除指定長度的子串。也就是,從串S1中刪除第pos個字符起長度為len的子串。

其實就是數組操作啦,把第pos個元素起的len個元素去掉即可。具體怎么去掉呢?把S[pos+len]賦值給S[pos],把S[pos+len+1]賦值給S[pos+1]……以此類推就OK了。

函數設計如下:

01

/* 初始條件: 串S存在,1≤pos≤StrLength(S)-len+1 */

02

/* 操作結果: 從串S中刪除第pos個字符起長度為len的子串 */

03

Status StrDelete(String S,int pos,int len)

04

{

05

int i;

06

if(pos < 1||pos>S[0]-len+1||len < 0)

07

return ERROR;

08

for(i=pos+len; i<=S[0]; i++)

09

S[i-len]=S[i];

10

S[0]-=len;

11

return OK;

12

}

測試執(zhí)行代碼為:

1

case 8:

2

printf("從串s1的第pos個字符起,刪除len個字符,請輸入pos: \n");

3

scanf("%d", &i);

4

printf("再輸入len: \n");

5

scanf("%d", &j);

6

StrDelete(s1,i,j);

7

StrPrint(s1);

8

break;

程序運行結果:

view source print?

01

1.StrAssign 生成串

02

2.StrLength 求串長

03

3.StrCompare 串比較

04

4.Concat 串連接

05

5.SubString 求子串

06

6.Index 求子串位置

07

7.StrInsert 子串插入

08

8.StrDelete 子串刪除

09

0.退出

10

請選擇你的操作:

11

1

12

串s1為:nowamagic.net

13

14

8

15

從串s1的第pos個字符起,刪除len個字符,請輸入pos:

16

2

17

再輸入len:

18

3

19

nmagic.net

完整的可執(zhí)行程序在后面給出。

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:如何在串中刪除特定長度的子串

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網