我有以下字符串:
str1 = "+58*/-47+-2*"
str2 = "++*46+8+*7+2*1"
str3 = "-9*-"
我想要下列产出:
ostr1 = "58*47+2"
ostr2 = "46+8+7+2*1"
ostr3 = "9"
例如:
+, - , /, *
到目前为止,我的第三个条件是:
gsub("(.*)[\\+|-|\\*|/]+$", "\\1", gsub("^[\\+|-|\\*|/]+(.*)", "\\1", str1))
看起来不太优雅..。我仍在为第二个条件而奋斗:
gsub("([\\+|-|\\*|/]{1})[\\+|-|\\*|/]+", "\\1", str1)
不管用。
任何建议都欢迎regex
杀手提出。
发布于 2015-02-09 10:51:54
你可以通过以下方式进行搜索:
^[-+*/]+|[-+*/]+$|([-+*/])[-+*/]+
并以下列案文取代:
$1 or \\1
代码:
gsub("^[-+*/]+|[-+*/]+$|([-+*/])[-+*/]+", "\\1", str1)
https://stackoverflow.com/questions/28407929
复制相似问题