【问题标题】:Java equivalent of Visual Basic MidB$Java 等效于 Visual Basic MidB$
【发布时间】:2012-06-19 05:34:35
【问题描述】:

在 Java 中是否有与 MidB$ 等效的函数?

函数从定义为MidB$(String As String, Start As Long, [Length] ) As String的字符串返回指定字节数

它的功能有点类似于 String.substring() 但长度以字节为单位。

谢谢。

【问题讨论】:

  • 在 Java 中,字符串由字符组成,而不是字节。你真的想得到 bytes 的数量还是你真的想要 characters 的数量?
  • 感谢您指出这一点。是的,我实际上想检索给定指定字节数的字符数。

标签: java vba code-conversion


【解决方案1】:

你可以试试这个:

int bytes = str.getBytes().length;

但这将取决于您平台的字符编码。

更多关于getBytes()

【讨论】:

    【解决方案2】:
    private String MidB(String str, int start, int len) {
        byte[] bytes = str.getBytes()
        String ret = "";
        for (;start < len + start; start++)
           ret = ret + (char) bytes[start];
        return ret;
    }
    

    看看这是否有效。并且 start 不会改变,因为 Java 中的原语是按值传递的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 2013-02-27
      • 2016-05-23
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      相关资源
      最近更新 更多