字符串的Java字符更改

时间:2014-10-17 19:34:03

标签: java string string-concatenation

我有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

4 个答案:

答案 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;
}