如何在MUMPS中替换新字符串由旧字符串组成的字符串

  • 本文关键字:字符串 MUMPS 替换 mumps
  • 更新时间 :
  • 英文 :


尝试在MUMPS中编写代码,以在字符串中用新代码替换旧代码。无论新旧。

期望的答案=";我的老朋友"但是得到=";我的老朋友"相反我如何得到预期的答案?

s str="My old old friend"
s old="old"
s new="very old" 
n ctr,max
s max=$L(str)
f ctr=1:1:($L(str,$E(old))-1) i $F(str,old)>0 s $E(str,$F(str,old)-$L(old),$F(str,old)-1)=new s count=count+1
q str

我认为您遇到的问题是您正在修改str。所以第一个";旧的";被替换为";非常古老";。然后$F看到";旧的";从";非常古老的";并替换它。

  1. 我的老朋友<--第一个";旧的";被替换
  2. 我的老朋友则";旧的";在";非常古老的";是已更换
  3. 我的老朋友

您最好创建一个要返回的新字符串,而不是原地修改。以下是我的想法:

S STR="My old old friend"
S OLD="old"
S NEW="very old"
F I=1:1:$L(STR," ") S TOK=$P(STR," ",I) S:TOK=OLD TOK=NEW S OSTR=$G(OSTR)_" "_TOK
W OSTR,!

相关内容

  • 没有找到相关文章

最新更新