例如:
\alpha ...\beta \gamma...+\alpha...\beta\xi...-\epsilon...\beta\alpha...+...
替换为
\beta \gamma...\alpha ...+\beta\xi...-\beta\alpha...\epsilon...+...
最后的...
表示具有...\beta...
这类结构的字符串,以\beta
作为分界,每个因式中的省略号表示其他字符,实际上,我想解决下面的问题,将下面公式
中每项中的 \lambda 及其后面部分替换到每项的前面
我结合后面一位朋友的方法,写了下面的代码:
f1(seq,dlm)= dlm*join(reverse(split(seq,dlm)))
f=open("latex.txt")
g=open("latex_1,txt","a")
for line in eachline(f)
for i in 2:length(line)
line1[i-1]=line[i]
end
if occursin("\lambda", line1)
f1(line1,"\lambda")
else
break
end
line=line[1]*line
write(g,line)
end
readline(g)
close(f)
close(g)
其中latex.txt文件内容为:
+u^{\dagger} \partial_{\mu}{u} u^{\dagger} \partial_{\mu}{u}
-u^{\dagger} \partial_{\mu}{u} u^{\dagger} u
-u^{\dagger} \partial_{\mu}{u} u^{\dagger} \lambda \partial_{\mu}{u}
+u^{\dagger} \partial_{\mu}{u} u^{\dagger} i r_{\mu} u
+u^{\dagger} \partial_{\mu}{u} u^{\dagger} i r_{\mu} \lambda u
+u^{\dagger} \partial_{\mu}{u} u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} \partial_{\mu}{u} u i l_{\mu} u^{\dagger}
+u^{\dagger} \partial_{\mu}{u} \lambda u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} \partial_{\mu}{u} \lambda u i l_{\mu} u^{\dagger}
-u^{\dagger} u u^{\dagger} \partial_{\mu}{u}
-u^{\dagger} \lambda \partial_{\mu}{u} u^{\dagger} \partial_{\mu}{u}
+u^{\dagger} u u^{\dagger} i r_{\mu} u
+u^{\dagger} \lambda \partial_{\mu}{u} u^{\dagger} i r_{\mu} u
+u^{\dagger} u u \partial_{\mu}{u^{\dagger}}
+u^{\dagger} \lambda \partial_{\mu}{u} u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} u u i l_{\mu} u^{\dagger}
-u^{\dagger} \lambda \partial_{\mu}{u} u i l_{\mu} u^{\dagger}
+u^{\dagger} i r_{\mu} u u^{\dagger} \partial_{\mu}{u}
+u^{\dagger} i r_{\mu} u u^{\dagger} u
+u^{\dagger} i r_{\mu} u u^{\dagger} \lambda \partial_{\mu}{u}
+u^{\dagger} r_{\mu} u u^{\dagger} r_{\mu} u
+u^{\dagger} r_{\mu} u u^{\dagger} r_{\mu} \lambda u
-u^{\dagger} i r_{\mu} u u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} r_{\mu} u u l_{\mu} u^{\dagger}
-u^{\dagger} i r_{\mu} u \lambda u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} r_{\mu} u \lambda u l_{\mu} u^{\dagger}
+u^{\dagger} i r_{\mu} \lambda u u^{\dagger} \partial_{\mu}{u}
+u^{\dagger} r_{\mu} \lambda u u^{\dagger} r_{\mu} u
-u^{\dagger} i r_{\mu} \lambda u u \partial_{\mu}{u^{\dagger}}
-u^{\dagger} r_{\mu} \lambda u u l_{\mu} u^{\dagger}
+u \partial_{\mu}{u^{\dagger}} u^{\dagger} \partial_{\mu}{u}
+u \partial_{\mu}{u^{\dagger}} u^{\dagger} u
+u \partial_{\mu}{u^{\dagger}} u^{\dagger} \lambda \partial_{\mu}{u}
-u \partial_{\mu}{u^{\dagger}} u^{\dagger} i r_{\mu} u
-u \partial_{\mu}{u^{\dagger}} u^{\dagger} i r_{\mu} \lambda u
-u \partial_{\mu}{u^{\dagger}} u \partial_{\mu}{u^{\dagger}}
+u \partial_{\mu}{u^{\dagger}} u i l_{\mu} u^{\dagger}
-u \partial_{\mu}{u^{\dagger}} \lambda u \partial_{\mu}{u^{\dagger}}
+u \partial_{\mu}{u^{\dagger}} \lambda u i l_{\mu} u^{\dagger}
-u i l_{\mu} u^{\dagger} u^{\dagger} \partial_{\mu}{u}
-u i l_{\mu} u^{\dagger} u^{\dagger} u
-u i l_{\mu} u^{\dagger} u^{\dagger} \lambda \partial_{\mu}{u}
-u l_{\mu} u^{\dagger} u^{\dagger} r_{\mu} u
-u l_{\mu} u^{\dagger} u^{\dagger} r_{\mu} \lambda u
+u i l_{\mu} u^{\dagger} u \partial_{\mu}{u^{\dagger}}
+u l_{\mu} u^{\dagger} u l_{\mu} u^{\dagger}
+u i l_{\mu} u^{\dagger} \lambda u \partial_{\mu}{u^{\dagger}}
+u l_{\mu} u^{\dagger} \lambda u l_{\mu} u^{\dagger}
+\lambda u \partial_{\mu}{u^{\dagger}} u^{\dagger} \partial_{\mu}{u}
- u \partial_{\mu}{u^{\dagger}} u^{\dagger} i r_{\mu} u \lambda
- u \partial_{\mu}{u^{\dagger}} \lambda u \partial_{\mu}{u^{\dagger}}
+ u \partial_{\mu}{u^{\dagger}} u i l_{\mu} u^{\dagger} \lambda
- u i l_{\mu} u^{\dagger} u^{\dagger} \partial_{\mu}{u}
-\lambda u l_{\mu} u^{\dagger} u^{\dagger} r_{\mu} u\lambda
+\lambda u i l_{\mu} u^{\dagger} u \partial_{\mu}{u^{\dagger}}
+ u l_{\mu} u^{\dagger} \lambda u l_{\mu} u^{\dagger}
+u^{\dagger} \partial_{\mu}{u} u^{\dagger} \partial_{\mu}{u}
-u^{\dagger} \partial_{\mu}{u} u^{\dagger} i r_{\mu} u
-u^{\dagger} \partial_{\mu}{u} u \partial_{\mu}{u^{\dagger}}
+u^{\dagger} \partial_{\mu}{u} u i l_{\mu} u^{\dagger}
-u^{\dagger} i r_{\mu} u u^{\dagger} \partial_{\mu}{u}
-u^{\dagger} r_{\mu} u u^{\dagger} r_{\mu} u
+u^{\dagger} i r_{\mu} u u \partial_{\mu}{u^{\dagger}}
+u^{\dagger} r_{\mu} u u l_{\mu} u^{\dagger}
-u \partial_{\mu}{u^{\dagger}} u^{\dagger} \partial_{\mu}{u}
+u \partial_{\mu}{u^{\dagger}} u^{\dagger} i r_{\mu} u
+u \partial_{\mu}{u^{\dagger}} u \partial_{\mu}{u^{\dagger}}
-u \partial_{\mu}{u^{\dagger}} u i l_{\mu} u^{\dagger}
+u i l_{\mu} u^{\dagger} u^{\dagger} \partial_{\mu}{u}
+u l_{\mu} u^{\dagger} u^{\dagger} r_{\mu} u
-u i l_{\mu} u^{\dagger} u \partial_{\mu}{u^{\dagger}}
-u l_{\mu} u^{\dagger} u l_{\mu} u^{\dagger}
+u^{\dagger} \chi u^{\dagger}
+u \chi^{\dagger} u
+u \chi^{\dagger} \lambda u
+\lambda u \chi^{\dagger} u
-u^{\dagger} \chi u^{\dagger}
-u \chi^{\dagger} u
运行出错,报错信息为:
syntax: invalid escape sequence
请问代码哪里有问题?
我根据Jun建议,对代码进行了修改:
f1(seq,dlm)= dlm*join(reverse(split(seq,dlm)))
f=open("latex.txt")
g=open("latex_1,txt","a")
for line in eachline(f)
for i in 2:length(line)
line1[i-1]=line[i] #这里存在问题,line1还未定义
end
if occursin(raw"\lambda", line1) #已修改
f1(line1,raw"\lambda") #已修改
else
break
end
line=line[1]*line1
write(g,line)
end
readline(g)
close(f)
close(g)
还是有错,报错信息为:
UndefVarError: line1 not defined
Stacktrace:
[1] top-level scope at .\In[1]:clock6:
现在的问题变为了:如何定义任意长度的字符串?