我有java String变量格式(包含空格)String id = "CA T 4443"
我需要获取我的String值id=CA4443
需要删除T和空格。任何java专家都可以帮我连接这些字符。
my value array
CA T 4443
CB T 4562
CG T 6365
DA T 5552
CX T 9875
CS T 5454
RA T 2377
第二次挑战
CAF T 444352
CBAD T 4562
CG T 636535
DA T 555255
CX T 98755665
CS T 545455
RA T 237766
我需要得到(只有前两个后两位和后四位)
CA4352
CB4562
CG6535
DA5255
CX5665
CS5455
RA7766
答案 0 :(得分:2)
如果总是两个字母,一个空格,一个T和一个数字,那么你可以这样做:
String id = "CA T 4443"
String result = id.substring(0, 2) + id.substring(5, id.length);
或者你可以这样做:
String result = id.replace(" T ", "");
答案 1 :(得分:0)
这样做:
public static String getFormatedValue(String data) {
String[] split = data.split(" ", 3);
return split[0] + split[2];
}
这将采用第一部分和最后一部分,并跳过中间T
部分。
答案 2 :(得分:0)
你有几件事情发生了 - 如果没有看到原始数据,很难说出最好的方法是什么。
最简单/最脆弱:如果你知道每条线的长度完全相同,那么#34; CA T 4443"你可以用substring手动抓取那个位置的字符,也可以直接从char数组中抓取。如果一行更大,这将会中断,在调用substring之前修剪()字符串可能更安全
或者您可以调用split:
字符串id =" CA T 4443&#34 ;;
String [] split = id.split(""); - >给[" CA"," T"," 4443"]
长度更灵活,但取决于格式。如果您的数据可能很脏,则在正则空间中拆分
或者只是通过正则表达式匹配来抓取。
取决于数据的规范化程度。
答案 3 :(得分:0)
编辑:仅针对最艰难的挑战
如果ID始终在两个"段之间具有T"你试图连接,然后是我的解决方案:
public static String makeID(String[] myValueArray){
String newID = "";
for (String s: myValueArray){
String[] previousID = s.split(" T ");
newID = newID + previousID[0] + previousID[1] + "\n";
}
return newID;
}