Jython中的子串函数

时间:2014-04-15 15:48:32

标签: jython wsadmin

我正在使用Jython为我的任务之一编写wsadmin脚本。

-c "test = 'project' " + -c "edit = test[1:]" + -c "print edit"

然而,当我执行这段代码时,我收到以下错误

Traceback (innermost last): (no code object) at line 0 File "<input>", line 1 edit = test[1:] ¬ SyntaxError: Lexical error at line 1, column 12. Encountered: "\u00dd" (221),after : ""

看起来方括号不被接受 有什么其他方法可以在Jython中获取字符串的子字符串吗?

2 个答案:

答案 0 :(得分:0)

在Jython中,切片效果非常好,并且您的代码在一个衬里中产生roject输出。我建议使用它作为一个衬里,用分号代替行分隔符:

-c "test = 'project';edit = test[1:];print edit;"

PS如果您向我们展示您的环境,通常会有所帮助:Jython版本,操作系统版本等。

我已经在Jython 2.5和2.2上测试了它并且它可以工作:

[mn@test ~]# jython -c "import sys; print sys.version; test = 'project';edit = test[1:];print edit;"
2.2.1
roject

答案 1 :(得分:0)

我会尝试使用&#39; -f&#39;切换wsadmin。它可以解决问题,或至少使调试更容易。似乎它可能是一个字符编码问题,判断\ u00dd是一个非标准的英文字符。

请参阅:http://www.charbase.com/00dd-unicode-latin-capital-letter-y-with-acute

为了安全起见,请确保您的脚本文件以UTF-8编码。