剪切字符串 (java)
Cut a String (java)
我想剪切我的字符串 "ftp://user:password@ftp.domain.com:21"
以将每篇文章都放在一个字符串中
换句话说,我想要:
String ftp = "ftp.domain.com"
String user = "user"
String password = "password"
String port = "21"
这段代码可以工作,但有点脏,对吧?
String fullFtpAdress = "ftp://user:password@ftp.domain.com:21";
fullFtpAdress = fullFtpAdress.substring(6);
String[] parts1 = fullFtpAdress.split(":",2);
String user = parts1[0];
String[] parts2 = parts1[1].split("@");
String password = parts2[0];
String[] parts3 = parts2[1].split(":");
String ftp = parts3[0];
String port = parts3[1];
你有其他解决办法吗?
谢谢:)
可能不是最干净的方法,但这只是一个拆分。
String fullFtpAddress = "ftp://user:password@ftp.domain.com:21";
String[] parts = fullFtpAddress.split("[:,@,/]");
String domain = parts[5];
String user = parts[3];
String password = parts[4];
String port = parts[6];
使用 URI:
URI uri = URI.create(fullFtpAddress);
String domain = uri.getHost();
String userInfo = uri.getUserInfo();
String user = userInfo != null ? userInfo.split(":")[0] : null;
String password = userInfo != null ? userInfo.split(":")[1]: null;
int port = uri.getPort();
使用URL
个字段:
URL url = new URL("ftp://user:password@ftp.domain.com:21");
String userInfo = url.getUserInfo();
String protocol = url.getProtocol();
String host = url.getHost();
int port = url.getPort();
...
我想剪切我的字符串 "ftp://user:password@ftp.domain.com:21"
以将每篇文章都放在一个字符串中
换句话说,我想要:
String ftp = "ftp.domain.com"
String user = "user"
String password = "password"
String port = "21"
这段代码可以工作,但有点脏,对吧?
String fullFtpAdress = "ftp://user:password@ftp.domain.com:21";
fullFtpAdress = fullFtpAdress.substring(6);
String[] parts1 = fullFtpAdress.split(":",2);
String user = parts1[0];
String[] parts2 = parts1[1].split("@");
String password = parts2[0];
String[] parts3 = parts2[1].split(":");
String ftp = parts3[0];
String port = parts3[1];
你有其他解决办法吗?
谢谢:)
可能不是最干净的方法,但这只是一个拆分。
String fullFtpAddress = "ftp://user:password@ftp.domain.com:21";
String[] parts = fullFtpAddress.split("[:,@,/]");
String domain = parts[5];
String user = parts[3];
String password = parts[4];
String port = parts[6];
使用 URI:
URI uri = URI.create(fullFtpAddress);
String domain = uri.getHost();
String userInfo = uri.getUserInfo();
String user = userInfo != null ? userInfo.split(":")[0] : null;
String password = userInfo != null ? userInfo.split(":")[1]: null;
int port = uri.getPort();
使用URL
个字段:
URL url = new URL("ftp://user:password@ftp.domain.com:21");
String userInfo = url.getUserInfo();
String protocol = url.getProtocol();
String host = url.getHost();
int port = url.getPort();
...