首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:删除方程中的零项的正则表达式

R:删除方程中的零项的正则表达式
EN

Stack Overflow用户
提问于 2015-11-09 14:46:49
回答 1查看 37关注 0票数 1

我有以下特征矩阵,表示线性方程组:

代码语言:javascript
复制
  > dput(eq)
  structure(c("0*x1 + 1*x2 - 1*x3   =   8", "-3*x1 + 0*x2 + 2*x3   =   -11", 
  "-2*x1 + 1*x2 + 0*x3   =   -3"), .Dim = c(3L, 1L))

那是,

代码语言:javascript
复制
> eq
     [,1]                           
[1,] "0*x1 + 1*x2 - 1*x3   =   8"   
[2,] "-3*x1 + 0*x2 + 2*x3   =   -11"
[3,] "-2*x1 + 1*x2 + 0*x3   =   -3" 

在一个函数中,我想删除表单"0*x\d"的所有术语。下面给出了我的部分理解,但忽略了最后一个方程中的"0*x3"项。有人能帮忙吗?

代码语言:javascript
复制
> gsub("0\\*x\\d [+-]", "", eq)
     [,1]                          
[1,] " 1*x2 - 1*x3   =   8"        
[2,] "-3*x1 +  2*x3   =   -11"     
[3,] "-2*x1 + 1*x2 + 0*x3   =   -3"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 14:48:26

你需要像下面这样改变你的正则表达式,

代码语言:javascript
复制
gsub("0\\*x\\d\\s+[+-]|[+-]\\s+0\\*x\\d", "", eq)

#     [,1]                     
#[1,] " 1*x2 - 1*x3   =   8"   
#[2,] "-3*x1  + 2*x3   =   -11"
#[3,] "-2*x1 + 1*x2    =   -3"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33611681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档