我的程序包含类似
的字符串$abc= "mojo logo sfdgsdj2123 *** mojo **";
我想将其更改为
$abc= "mojo *** mojo **";
我该怎么做?
“logo”和第一个“*”之间的字符也可以是“*”以外的任何字符(即不一定是sfdgsd2123)。
所以基本上问题是在第一次“mojo”之后删除直到第一次出现“*”。
请帮忙......
答案 0 :(得分:1)
我会告诉你“这是你应该如何回答”,而不是写下替换代码,就像你问“我怎么能这样做?”
所以这是如何:
将“正则表达式”设为“一系列零个或多个非星号字符,前面是单词mojo”
将与该正则表达式匹配的第一个匹配子字符串替换为空字符串。
这就是它的全部。这是Perl中的一个小内容,大多数语言都有足够复杂的正则表达式引擎来支持积极的外观。
如果所有这些听起来都很疯狂,请随意逐字逐句地走过字符串。找到首先出现“mojo”的地方。然后继续遍历字符串,删除遇到的所有非星号字符。