SQLServer截取字符串
提供3个常用截取字符串方法,LEFT(),RIGHT(),SUBSTRING()
/****** Sql Server中截取字符串的常用方法 ******/
--1、LEFT()方法---
--函数说明---
--1)语法:LEFT(character,integer)
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用:
--返回从字符串左边开始指定个数的字符--
select LEFT('SqlServer_2008',3)
--4)返回:Sql
--1、RIGHT()方法---
-- right()函数说明---
--1)语法:RIGHT(character,integer)
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用:
--返回从字符串右边开始指定个数的字符--
select RIGHT('SqlServer_2008',4)
--4)返回:2008
--1、SUBSTRING()方法---
-- substring()函数说明---
--1)语法:SUBSTRING(character,start,length)
--2)介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
--3)使用:
--返回从字符串中间的字符--
select SUBSTRING('SqlServer_2008',4,6)
--4)返回:Server
效果图如下:
到这里截取字符串的功能做完了,select LEFT(TRANS,1) from LTK_TO_MANE group by LEFT(TRANS,1)
这样我要的数据就知道有几个了,那么接下来就是去C#里截取字符串使用switch来走业务模块了。
C#(.NET)截取字符串
根据单个分隔字符用split截取
string st="GT123_1";
string[] sArray=st.split("_");
//即可得到sArray[0]="GT123",sArray[1]="1";
利用多个字符来分隔字符串
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
//得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
根据字符串或字符串组来截取字符串复制代码
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
//得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
string[] sArray = str.Split( new string[]{"Ji","jB"},
StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
//得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
提取字符串中的第i个字符开始的长度为j的字符串
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
//输出得到AZB_Jian。
提取字符串中右数长度为i的字符串复制代码
string str = "GTAZB_JiangjBen_123";
string tSt;
int i=5;
tSt = str.Substring(str.Length - i);
Console.WriteLine(tSt);
//输出n_123
替换字符串中的特定字符串
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("123","321");
Console.WriteLine(tSt);
//输出GTAZB_JiangjBen_321
删除字符串中的特定字符串Jiangj
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
//输出GTAZB_Ben_123
删除指定位置(第i个)的指定长度(length)的字符串复制代码
string str = "GTAZB_JiangjBen_123";
int i=5,length=8;
str=str.remove(i,length);
console.writeline(str);
//输出GTAZBen_123
上述八种方法是我在网上找的比较全的,但是我用的是另一种方法,在 C# 中使用 Linq 方法获取字符串的第一个字符,正好有个函数可以实现我要的功能:“FirstOrDefault() ”
string trans = item.TRANS;
string first = trans.FirstOrDefault().ToString();//取第一个字符
在上面的代码中,我们使用 C# 中的 FirstOrDefault() 函数从字符串变量名称中提取了第一个字符第一个。