【问题标题】:Use of regexprep in MATLAB to remove characters within parentheses in MATLAB在 MATLAB 中使用 regexprep 删除 MATLAB 中括号内的字符
【发布时间】:2016-08-09 17:31:06
【问题描述】:

我想从 MATLAB 中的字符串中删除括号内的字符:

例如:我有字符串 S(+42.01)DKHDKPDISEVTKFDKSKLKKTETHEKNPLPTKETIDQEKQG 但想删除括号并存储: SDKHDKPDISEVTKFDKSKLKKTETHEKNPLPTKETIDQEKQG

括号中的字符可以是文本、数字、文本数字和特殊字符的组合。括号也可以在同一个字符串中出现多次。

谢谢

【问题讨论】:

    标签: matlab sorting regexp-replace


    【解决方案1】:

    你去吧:

    x = 'Q(-17.03)VAQMHVWRAVNHDRNHGTGSGRH(-.98)';
    y = regexprep(x, '\([^\(\)]*\)',''); % detect substring formed by 
        % parentheses and anything in between that is not a parenthesis,
        % and replace that by an empty string
    

    给予

    y =
    QVAQMHVWRAVNHDRNHGTGSGRH
    

    【讨论】:

    • 嗨,这几乎是正确的,但是当有多个括号时,我没有得到正确的输出。例如:“Q(-17.03)VAQMHVWRAVNHDRNHGTGSGRH(-.98)”应该给出输出“QVAQMHVWRAVNHDRNHGTGSGRH”,但它只返回“Q”并进入下一步。你有什么解决办法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多