我具有其中所存儲的數據是在該格式的文件details.txt如何將沒有任何分隔符的字符串轉換爲逗號分隔的字符串?
"571955NandhithaF1975-12-222011-12-06Mumbai"
列是第一六位唯一ID,名稱 ,(M/F)性別,出生日期,連接日期和地點 我必須使用逗號分隔符將其分成六列。 請幫我在這個問題上
我具有其中所存儲的數據是在該格式的文件details.txt如何將沒有任何分隔符的字符串轉換爲逗號分隔的字符串?
"571955NandhithaF1975-12-222011-12-06Mumbai"
列是第一六位唯一ID,名稱 ,(M/F)性別,出生日期,連接日期和地點 我必須使用逗號分隔符將其分成六列。 請幫我在這個問題上
571955NandhithaF1975-12-222011-12-06Mumbai
拆分此類型的數據,我們必須使用字符串在java中功能在映射類下地圖方法。
您可以使用substring(beginindex,endindex)
方法從字符串獲得的標識,其 像string id[6]=substring(0,5)
返回6位數的字符串,它是ID(如ID長度是固定的,我們採取6)
您可以使用substring(beginindex)
獲取剩餘的字符串。
接下來在病房中,您必須使用REGXP in java ..以及split(regexp)
以獲取名稱,性別,dob,doj,loc。
但絕對有一些與java的鍛鍊發生。
經過this link for String functions in java.
希望這篇文章可以幫助。 如果任何建議或修改到相同也是可以接受的:)
謝謝.. !!!!讓我檢查一下 –
通過每個線成一個正則表達式函數其中包含以下邏輯:
String expression = "571955NandhithaF1975-12-222011-12-06Mumbai";
Pattern pattern = Pattern
.compile("([0-9]{6})([a-zA-Z]+)([M|F])([0-9]{4}-[0-9]{2}-[0-9]{2})([0-9]{4}-[0-9]{2}-[0-9]{2})([a-zA-Z0-9]+)");
Matcher matcher = pattern.matcher(expression);
if (matcher.find()) {
//System.out.println(matcher.group());
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
System.out.println(matcher.group(5));
System.out.println(matcher.group(6));
}
輸出:
571955
Nandhitha
F
1975-12-22
2011-12-06
Mumbai
我不不要看你的文件片段中的逗號。到目前爲止,您使用Mapreduce取得了哪些成就? – waltersu
@waltersu他想要生成一個逗號分隔的字符串。 – JimHawkins
@JimHawkins,你明白我的觀點。我必須在map reduce中處理逗號分隔的數據。 –