字符串的处理
Split分隔字符串的应用(asp.net,vb.net,split、分隔、字符串)
1、用字符串分隔:
c#
c#
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
vb.net
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
输出结果:
aaa
bbb
ccc
aaa
bbb
ccc
2.处理重复的字符串
vb.net
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
C#
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
js
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
3.统计重复的字符个数
public static int CountRepeatChar(string RepeatString,string RepeateChar)
{
// string bb = "abcdefabcda";
// int cc = bb.Length - bb.Replace("a", "").Length;
int iCount = RepeatString.Length - RepeatString.Replace(RepeateChar, "").Length;
return iCount;
}
4.判断是否数字{
// string bb = "abcdefabcda";
// int cc = bb.Length - bb.Replace("a", "").Length;
int iCount = RepeatString.Length - RepeatString.Replace(RepeateChar, "").Length;
return iCount;
}
/// <summary>
/// 判断是否是数字
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
private bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}
/// 判断是否是数字
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
private bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}
4.用重复的字符填充一个 String
为了用重复的字符填充一个字符串, 使用string 类的构造函数.例如:用20个(*)填充一个字符串.
string s = new string( '*', 20 );
5.检查空字符串
一个空字符串可能表现为空引用或者空字符串(String.Empty或""),如果你试图对一个空字符串调用方法,可能会发生异常.因此,要检查空字符串,你应该使用Net2.0中的静态函数 String.IsNullOrEmpty;
String.IsNullOrEmpty( s )
String.Empty vs. ""? 并不重要
在网上关于用string.Empty还是""表示空字符已经有很多争论了,然而测试表明,这里差别很小,即使创建10亿个空字符串时. 6.反转字符串
这里有很多算法在反转字符串方面. 下面是一个很好的方法,不论是作用在Unicode还是字符上:
static public string Reverse( string s )
{
char[] charArray = s.ToCharArray();
Array.Reverse( charArray );
return new string( charArray );
}
{
char[] charArray = s.ToCharArray();
Array.Reverse( charArray );
return new string( charArray );
}
7.字符串比较
由于字符串引用可能是空的,所以在比较字符串时,你应该避免使用"=="或者成员比较函数.代替的是使用静态的String.Compare方法.这个方法有个优势就是它能处理空字符串引用,忽略字符串大小写.也可以在特定文化背景下使用.
if (String.Compare( s1, s2, true ) == 0)
8.转换字符串为数字类型
每一种数字类型如: int, Int32, double, 等等,都有一个静态TryParse 方法来转换一个字符串而不抛出异常.这个方法返回一个bool无论这个字符串是否包含在这个特殊的数字类型中.例如:
string s = "42″;
int i;
int.TryParse( s, out i );
int i;
int.TryParse( s, out i );
9.IndexOf 忽略大小写
字符串的 IndexOf 方法是对大小写敏感的.幸运的是. 这个Globalization 命名空间下包含 CompareInfo 类,它包含一个对大小写敏感的 IndexOf 方法. 例如:
using System.Globalization;
string s1 = "C# is a GREAT programming language.";
string s2 = "great";
CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo;
int i = Compare.IndexOf( s1, s2, CompareOptions.IgnoreCase );
string s1 = "C# is a GREAT programming language.";
string s2 = "great";
CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo;
int i = Compare.IndexOf( s1, s2, CompareOptions.IgnoreCase );