好的,我想知道的是Java有什么方法可以执行以下Python可以做到的…
string_sample = "hello world"
string_sample[:-1]
>>> "hello world"
string_sample[-1]
>>> "d"
string_sample[3]
>>> "l"
因为在我看来Java可以使您获得相同的结果(我特别需要每次使用2个数字,而缺少-1来表示最后一个字符)
String string_sample = "hello world";
string_sample.substring(0,string_sample.length()-1);
>>> "hello world"
string_sample.substringstring_sample.length()];
>>> "d"
string_sample.(3,4);
>>> "l"
我还没有用Java来研究数组/列表,所以真正希望Java比这更容易
编辑:将string_sample [3]的“ i”修改为“ l”。很好看的Maroun!
抱歉,Java的substring
灵活性不如Python的slice表示法。
特别是:
您可以在此处查看文档。
但是,自己编写此代码并不难:
public String slice_start(String s, int startIndex) {
if (startIndex < 0) startIndex = s.length() + startIndex;
return s.substring(startIndex);
}
public String slice_end(String s, int endIndex) {
if (endIndex < 0) endIndex = s.length() + endIndex;
return s.substring(0, endIndex);
}
public String slice_range(String s, int startIndex, int endIndex) {
if (startIndex < 0) startIndex = s.length() + startIndex;
if (endIndex < 0) endIndex = s.length() + endIndex;
return s.substring(startIndex, endIndex);
}
将其作为某些实用程序类的静态方法。
显然,这与Python并不完全相同,但是它可能处理了您想要的所有情况,并且非常简单。如果要处理其他边缘情况(包括诸如step和四处传递切片之类的事情),则可以添加所需的任何其他代码;例如,这些都不是特别棘手的。
其他顺序基本上是相同的,但是您会想要subSequence
代替substring
。(您也可以subSequence
在字符串上使用,因为a
String
是一个CharSequence
。)
数组实际上根本不是一种序列;您将需要编写明确创建新数组并复制子数组的代码。但这还不算复杂。
请注意,您可能想寻找一个已经为您完成的库。此页面上的其他答案中至少有3个链接,这使搜索变得容易。:)(您可能仍然想为自己做一次,只是为了了解这些库的工作原理,但是对于生产代码,我宁愿使用一个其他人已经弄清楚并测试了所有极端情况的库,而不是重新实现车轮并处理它们,以防它们陷入单元测试或现场错误中……)
问题内容: 有人知道类似于JavaRobot的Python类吗? 具体来说,我想在Ubuntu中执行屏幕抓取,并最终跟踪鼠标单击和键盘按下(尽管这是一个稍微不同的问题)。 问题答案: 如果您有GTK,则可以使用gtk.gdk.Display类来完成大部分工作。它控制键盘/鼠标指针获取一组对象。
问题内容: 我需要使用字符串参数并在Python中创建以该字符串命名的类的对象。在Java中,我会使用。在Python中是否有等同功能? 感谢你的答复。回答那些想知道我在做什么的人:我想使用命令行参数作为类名,并实例化它。我实际上是在Jython中编程并实例化Java类,因此是问题的Java实质。 效果很好。非常感谢。 问题答案: python中的反射比Java中的反射更容易,更灵活。 没有直接函
问题内容: 有人知道类似于JavaRobot的Python类吗? 具体来说,我想在Ubuntu中执行屏幕抓取,并最终跟踪鼠标单击和键盘按键(尽管这是一个稍微不同的问题)。 问题答案: 如果您有GTK,则可以使用gtk.gdk.Display类来完成大部分工作。它控制键盘/鼠标指针获取一组对象。
问题内容: 当搜索复杂的JSON数组和哈希中的项目时,例如: 我可以使用某种查询语言来查找商品吗? 问题答案: 是的,它称为JSONPath。源码现在在GitHub上。 它还集成到DOJO中。
问题内容: 我为一位同伴编写了一个网络刮板,以节省他的工作时间。它是使用,使用和打开Firefox浏览器编写的。 我已经在使用的Linux机器上亲自编写了此代码,因此Firefox实际上不会打开并干扰我的工作。 如何使其在Windows PC的虚拟显示器中运行? 问题答案: 您无法在Windows上运行的原因是PyVirtualDisplay使用Xvfb作为其显示,而Xvfb是X Window S
问题内容: 我有两个对象,想要将它们配对,就像中的函数一样。我很确定JDK中没有此功能,但是在相当广泛的库中是否有类似通用收藏集的类似内容?谢谢。 问题答案: 功能Java具有zip,zipWith以及zipIndex您对或的期望。(实际上,作者几乎都是Haskell程序员。)