请找到图像我有这样的字符串:Hello,1,2 World,6,7 Home,10,11 我希望我的输出为:Hello World Home 1 6 10 2 7 11 下面是我的代码:def a = "你好,1,2 世界,6,7 家,10,11”;a=a.replace(',',"\n") println(a)
问问题
95 次
3 回答
2
您可以简单string.split(',')
地获取一个列表,并' '.join(string.split(','))
获取由 a 分隔的所有这些元素的字符串' '
。这是非常简单的拆分,对于更复杂的解析,使用csv
模块。
这个答案适用于 Python。我不知道你为什么同时拥有java
和python
作为标签。
于 2021-07-21T05:37:10.480 回答
1
您无法从逻辑上生成该输出,因为没有(明显的)方法来确定整数的顺序。
但是,如果您只想隔离单词和整数,然后按照定义它们的顺序将它们连接在一起,那么可以这样做。
初始字符串中的标记不只是逗号分隔,因此先前答案中建议的拆分技术将不起作用。因此,您需要使用 regex 模块:
import re
d = 'Hello,1,2 World,6,7 Home,10,11'
w = ''
n = ''
for token in re.split(',| ', d):
try:
int(token)
n += token + ' '
except ValueError:
w += token + ' '
print(w + n.rstrip())
其输出将是:Hello World Home 1 2 6 7 10 11
于 2021-07-21T08:40:58.750 回答
0
public static void main(String[] args) {
String a = "Hello,1,2 World,6,7 Home,10,11";
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
StringBuffer sb3 = new StringBuffer();
String[] ar = a.split(",");
for (int i = 0; i < ar.length; i++) {
if(ar[i].contains(" ") && isNumeric(ar[i].split(" ")[0])){
sb1.append(ar[i].split(" ")[0]+" ");
sb2.append(ar[i].split(" ")[1]+" ");
} else if(isNumeric(ar[i])){
sb3.append(ar[i]+" ");
} else{
sb2.append(ar[i]+" ");
}
}
System.out.println(sb2+""+sb3+""+sb1);
}
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
try {
double i = Integer.parseInt(strNum);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
你应该试试这个。
于 2021-07-21T12:53:09.870 回答