java中如何根据长度进行子串?

pra*_*sad -1 java

我想根据长度对java中的字符串进行子串(起始字符)。例如,如果 string1 大于 4000 字节,我想将该字符串变成小于或等于 4000 字节的字符串。(需要修剪起始字符而不是最后一个字符)

Ste*_*n C 5

尝试这个:

trimmed = str.substring(Math.max(0, str.length() - 4000));
Run Code Online (Sandbox Code Playgroud)

(如果你能弄清楚它在做什么,那就加分了:-))

但是,请注意,这将str最多削减 4000 个字符。除非指定字符编码,否则将 Java 字符串修剪为给定的字节数是没有意义的。即使你这样做了,对于 UTF-8 等可变长度编码来说,这也有点粗糙。

值得注意的是,如果您的字符串包含平面 0 之外的 Unicode 代码点,则此操作可能会失败。