01/10/2018, 16:07

Tách số 0 trong 1 chuỗi?

Mình có 1 chuỗi String: 00, 01, 02…23 (giờ trong ngày). Giờ mình muốn bỏ số 0 phía trước để hiển thị: 0, 1, 2, 3,…, 23 thì phải làm như nào ạ?
Mình cảm ơn nhiều!

Evil Artist viết 18:09 ngày 01/10/2018

Mình không rõ java, nhưng về cơ bản gồm 4 bước:
Tách chuỗi --> Convert --> Format --> Ghép lại

Tham khảo đoạn script PowerShell:

$Chuỗi_Ban_Đầu = "00,01,02,03,10,11,23"
$Mảng_Tách_Chuỗi = $Chuỗi_Ban_Đầu -split ","
$Mảng_Mới = @()
$Mảng_Tách_Chuỗi | ForEach {$Mảng_Mới += ([int]$_).ToString("0")}
$Chuỗi_Kết_QUả = $Mảng_Mới -join ","
Write-Host $Chuỗi_Kết_QUả 
# Kết quả trả về 0,1,2,3,10,11,23
Nguyễn Đình Anh viết 18:08 ngày 01/10/2018

Dùng void .ReplaceAll của String nhé

str = str.replaceAll(“0”, “”);

Nguyễn Huy viết 18:18 ngày 01/10/2018

Mình đọc mình không hiểu gì hết nhưng dù sao cũng cảm ơn bạn!

Nguyễn Huy viết 18:21 ngày 01/10/2018

vậy thì số 10 nó về 1 sao bác

Evil Artist viết 18:23 ngày 01/10/2018

Dùng regular expressions thay cho replace.

Nguyen Kien viết 18:08 ngày 01/10/2018

Có phải ý bạn là như thế này:

import java.util.Arrays;

public class ExeStrings {
	
	public static void main(String[] args) {
		
		String[] arrStr = {"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", 
		"14", "15", "16", "17", "18", "19", "20", "21", "22", "23"};

		System.out.println(Arrays.toString(arrStr));

		for (int i = 0; i < arrStr.length; ++i) {
			
			if(arrStr[i].startsWith("0")){
				arrStr[i] = arrStr[i].substring(1);
			}
		}

		System.out.println("------------------------------------------------------------------------------------------------");
		System.out.println(Arrays.toString(arrStr));
	}
}

Result:

Nguyen Kien viết 18:22 ngày 01/10/2018

Dùng void .ReplaceAll của String nhé

Thế sao không dùng replace() nhanh hơn replaceAll nha !
Mà bạn làm như thế thì “00” -> “” à ???

Nguyễn Huy viết 18:20 ngày 01/10/2018

Cảm ơn bạn nhiều nhé

Demon Hunter viết 18:18 ngày 01/10/2018
String result = Arrays.stream(StringUtils.split("00,01,10,11", ","))
			.map(numb -> numb.startsWith("0") ? numb.substring(1) : numb).collect(Collectors.joining(","));

Java 8

Nguyễn Đình Anh viết 18:19 ngày 01/10/2018

Sr, tưởng bạn muốn bỏ hết số 0 đi @@

Bài liên quan
0