2026-07-26 19:08:44 -04:00
|
|
|
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
|
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
|
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
|
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
|
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
|
|
|
// Magicbane Emulator Project © 2013 - 2026
|
|
|
|
|
// https://www.magicbane.com
|
2022-04-30 09:41:17 -04:00
|
|
|
|
|
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
package engine.util;
|
2022-04-30 09:41:17 -04:00
|
|
|
|
|
|
|
|
import java.net.InetAddress;
|
|
|
|
|
import java.util.StringTokenizer;
|
|
|
|
|
|
|
|
|
|
public class StringUtils {
|
|
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String addWS(String s, int totalLen) {
|
|
|
|
|
if (s.length() >= totalLen) {
|
|
|
|
|
return s;
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
int diff = totalLen - s.length();
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
String out = s;
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
for (int i = 0; i < diff; ++i) {
|
|
|
|
|
out += " ";
|
|
|
|
|
}
|
|
|
|
|
return out;
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String bannerize(String s, int totalLen) {
|
|
|
|
|
if (s.length() >= totalLen) {
|
|
|
|
|
return s;
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
int diff = totalLen - s.length();
|
|
|
|
|
int halfDiff = diff / 2;
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
String side = "";
|
|
|
|
|
for (int i = 0; i < halfDiff; ++i) {
|
|
|
|
|
side += "*";
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
return side + ' ' + s + ' ' + side;
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String InetAddressToClientString(InetAddress address) {
|
|
|
|
|
return address.toString().replaceAll("/", "");
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String toHexString(int i) {
|
|
|
|
|
return Integer.toHexString(i).toUpperCase();
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String toHexString(long l) {
|
|
|
|
|
return Long.toHexString(l).toUpperCase();
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String wordWrap(String text, int LineWidth) {
|
|
|
|
|
StringTokenizer st = new StringTokenizer(text);
|
|
|
|
|
int SpaceLeft = LineWidth;
|
|
|
|
|
int SpaceWidth = 80;
|
|
|
|
|
String outString = "";
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
while (st.hasMoreTokens()) {
|
|
|
|
|
String word = st.nextToken();
|
|
|
|
|
if ((word.length() + SpaceWidth) > SpaceLeft) {
|
|
|
|
|
outString += '\n' + word + ' ';
|
|
|
|
|
SpaceLeft = LineWidth - word.length();
|
|
|
|
|
} else {
|
|
|
|
|
outString += word + ' ';
|
|
|
|
|
SpaceLeft -= (word.length() + SpaceWidth);
|
|
|
|
|
}
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
}
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
return outString;
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
}
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static String truncate(String input, int length) {
|
|
|
|
|
if (input != null && input.length() > length)
|
|
|
|
|
input = input.substring(0, length);
|
|
|
|
|
return input;
|
|
|
|
|
}
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
public static int wordCount(String input) {
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
String workString = input.trim();
|
2023-05-11 09:07:35 -04:00
|
|
|
|
2023-07-15 09:23:48 -04:00
|
|
|
if (workString.isEmpty())
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
return workString.split("\\s+").length;
|
|
|
|
|
|
|
|
|
|
}
|
2022-04-30 09:41:17 -04:00
|
|
|
|
|
|
|
|
}
|
2023-05-11 09:07:35 -04:00
|
|
|
|