gpt4 book ai didi

java - 在 Java 中过滤命令行输入中的符号

转载 作者:行者123 更新时间:2023-12-01 07:53:54 25 4
gpt4 key购买 nike

我正在 Java 中开发一个简单的方法,我从输入中获取单个字符串,例如: 用户名@192.168.1.1:2531

我需要将用户名IP地址/主机端口分成三个不同的字符串。我当前的想法是将整个输入转换为 char[],通过标记 '@'':' 占用的索引的循环运行它。然后使用新字符串的偏移构造函数来构造用户名、ip/主机和端口的每个单独字符串。

这是我的代码:

import java.io.*;

public class StringSymbolParse {
public static void main(String[] args){
String uname;
String host;
int port; //uname@ip:host

String total = args[0];
System.out.println("Input: " + args[0]);
char totalChar[] = total.toCharArray();
int size = totalChar.length;

int markerAt = 0; //marks last filtered symbol placement;
int markerColon = 0;
for(int i=0; i<size; i++){
if((totalChar[i] == '@')){
markerAt = i;
}
else if(totalChar[i] == ':'){
markerColon = i;
}
}
System.out.println("MarkerAT: " + markerAt);
System.out.println("MarkerColon: " + markerColon);
uname = new String(totalChar,0,(markerAt));
System.out.println("Username: " + uname);
host = new String(totalChar, 8, );
port = Integer.parseInt(new String(totalChar, (markerColon), size));


System.out.println("Username: " + uname);
System.out.println("Host: " + host);
System.out.println("Port: " + port);
}
}

`

最佳答案

您可以使用String类的split方法

        String s = "username@192.168.1.1:2531";
String[] arr = s.split("@|:");
for (String str : arr) {
System.out.println(str);
}

关于java - 在 Java 中过滤命令行输入中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com