Hôm trước mình yêu cầu một bạn sinh viên mới ra trường cắt các ký từ số 0 bên trái của một chuỗi số nhưng bạn ấy làm không được. Có rất nhiều cách để làm, ở đây mình trình bày 5 cách làm, mọi người từ đánh giá hay dở
Code:
class Program
{static void
{
CatChuoi.Test("0000");
CatChuoi.Test("0001023");
}
}
class CatChuoi
{public static void Test(string input)
{
if (input == null || input.Length == 0)
return;
input = input.Trim();
Console.WriteLine("===============\nInput: " + input);
Console.WriteLine("Cach1: " + Cach1(input));Console.WriteLine("Cach2: " + Cach2(input));
Console.WriteLine("Cach3: " + Cach3(input));
Console.WriteLine("Cach4: " + Cach4(input));
Console.WriteLine("Cach5: " + Cach4(input));
}
public static string Cach1(string input)
{
while (input.Length > 1 && input.StartsWith("0"))
input = input.Substring(1);return input;
}
// Kiểm tra = 0 thì gán khoảng trắng
//So sánh ký tựpublic static string Cach2(string input)
{
char[] s = input.ToCharArray();
for (int i = 0; i < input.Length - 1; i++)
{
if (input[i] != '0')
break;
s[i] = ' ';
}
return (new string(s)).Trim();
// Kiểm tra = 0 thì gán khoảng trắng
//So sánh mã ASCIIpublic static string Cach3(string input)
{
char[] s = input.ToCharArray();
for (int i = 0; i < input.Length - 1; i++)
{if (input[i] != 48) //Khác cách 2 ở đây
break;
s[i] = ' ';
}return (new string(s)).Trim();
}//Tìm index không phải là không
public static string Cach4(string input){
for (int i = 0; i < input.Length; i++)
if (input[i] != '0')
return input.Substring(i);
}
// Sử dụng foreach
public static string Cach5(string input){
string s = "";
foreach (char c in input)
{
if (c == '0' && s == "")
continue;
s += c;
}
return s;
}
Không có nhận xét nào:
Đăng nhận xét