QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 7460|回复: 0
打印 上一主题 下一主题

在一个字符串中查找/替换字符

[复制链接]
字体大小: 正常 放大
回帖奖励 1 点体力 回复本帖可获得 1 点体力奖励! 每人限 1 次

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2015-9-23 22:32 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
          在一个字符串中查找/替换字符
    MATLAB提供了许多的函数,用来对字符串中的字符进行查找或替换。考虑字符串test
    test = 'This is a test!';
    函数findstr返回短字符串在长字符串中所有的开始位置。例如为了寻找test内的所有“is”
    >> position = findstr(test,'is')
    position =
         3     6
    字符串“is”在test内出现两次,开始位置分别为3和6。

    函数strmatch是另一种匹配函数。它用来查看二维数组行开头的字符,并返回那些以指定的字符序列为开头行号。它的基本形式如下
    result = strmatch(str,array);
    例如,我们用strvcat创建一个二维数组,
    array = strvcat('maxarray','min value','max value');
    那么下面的语句将会返回开始字符为“max”的行数。
    >> result = strmatch('max',array)
    result =
         1
         3
    函数strrep用于进行标准的查找和替换操作。它能找到一个字符串中的所有另一个字符串,并被第三个字符串替换。这个函数形式为
    result = strrep(str,srch,repl)
    其中str是被检测的字符串,srch是要查找到的字符串,repl是用于替代的字符串,例如,
    >> result = strrep(test,'test','pest')
    result =
    This is a pest!
    函数strtok返回输入字符串中第一次出现在分隔符前面的所有字符。默认的分隔符为一系列的空白字符。strtok的形式如下
    [token, remainder] = strtok(string,delim)
    其中string是输入字符串,delim是可选择的分隔符,token代表输入字符串中第一次出现在分隔符前面的所有字符,remainder代表这一行的其余部分。例如
    >> [token, remainder] = strtok('This is a test!')
    token =
    This
    remainder =
    is a test!
    你可以利用函数strtok把一个句子转换为单词。例如,下面的代码从字符数组input_string中分离出每一个单词,并把每一个单词独立地存储在字符数组all_words的每一行中。

    function all_words = word(input_string)
    remainder = input_string
    all_words = '';
    while (any(remainder))
        [chopped, remainder] =strtok(remainder);
        all_words =strvcat(all_words, chopped);
    end


    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-21 07:16 , Processed in 0.413700 second(s), 55 queries .

    回顶部