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

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

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

函數(shù)設(shè)計(jì)如下:

01

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

02

/* 操作結(jié)果: 從串S中刪除第pos個(gè)字符起長(zhǎng)度為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

}

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

1

case 8:

2

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

3

scanf("%d", &i);

4

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

5

scanf("%d", &j);

6

StrDelete(s1,i,j);

7

StrPrint(s1);

8

break;

程序運(yùn)行結(jié)果:

view source print?

01

1.StrAssign 生成串

02

2.StrLength 求串長(zhǎng)

03

3.StrCompare 串比較

04

4.Concat 串連接

05

5.SubString 求子串

06

6.Index 求子串位置

07

7.StrInsert 子串插入

08

8.StrDelete 子串刪除

09

0.退出

10

請(qǐng)選擇你的操作:

11

1

12

串s1為:nowamagic.net

13

14

8

15

從串s1的第pos個(gè)字符起,刪除len個(gè)字符,請(qǐng)輸入pos:

16

2

17

再輸入len:

18

3

19

nmagic.net

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

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:如何在串中刪除特定長(zhǎng)度的子串
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

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