我学的是C#和js 所以是这个背景下的字符串处理方法::
javascript:::::::::
字符串的创建
创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其
赋值给一个字符串变量。
var myStr = "Hello, String!";
,但本质上,它们并不是真正的字符串对象,准确地说,它们是字符串类型的值。要创
建一个字符串对象,可使用如下语句:var strObj = new String("Hello, String!");
使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为
object。
如果想知道字符串的长度,使用其length属性:string.length。
得到字符串的指定位置的字符使用方法:string.charAt(index);
• concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
• indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1
。
• charAt() – 返回指定位置的字符。
• lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,
返回 -1 。
• match() – 检查一个字符串是否匹配一个正则表达式。
• substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
• replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配
的字符串。
• search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索
引值。否则返回 -1 。
• slice() – 提取字符串的一部分,并返回一个新字符串。
• split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
• length() – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
• toLowerCase() – 将整个字符串转成小写字母。
• toUpperCase() – 将整个字符串转成大写字母。
要在字符串中添加换行符,需要使用转义字符" ":
获得一字符串的一部分的副本:
string.substring(from, to)
第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个
参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下
,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。
如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起
止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束
。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。
slice()的原型为: string.slice(start, end)
参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,
例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数
,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()
更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。
还有一个方法是substr(),其原型为: string.substr(start, length)
从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的
长度。JavaScript标准不提倡使用该方法。
使用toLowerCase()和toUpperCase()方法:
var city = "ShanGHai";
city = city.toLowerCase(); // city is "shanghai" now.
问题:
判断一个字符串是否包含另一个字符串。
解决方案:
使用string的indexOf()方法:
strObj.indexOf(subString[, startIndex])
strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,
startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从
strObj开始处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引
,则从最大索引处开始。
C#中的字符串操作
myString = myString.ToLower(); //所有字符转换成小写
myString = myString.ToUpper(); //所有字符转换成大写
myString = myString.Trim(); //同时删除字符串前后的空格
char[] trimChars = {' ','e','s'}; //准备删除的字符
myString = myString.Trim(trimChars); //删除所有指定符
myString = myString.TrimEnd(); //删除字符串后的空格
myString = myString.TrimStart(); //删除字符串前的空格
myString = myString.PadRight(14,' '); //当字符串长度不够14位时,在他的右
边用指定字符填充
myString = myString.PadLeft(14,' '); //当字符串长度不够14位时,在他的左
边用指定字符填充
* 拆分字符串 *
string[] nStrs = myString.Split(' ',3); //按照空格进行拆分,并且返回前三
个字符串
* 获取子字符串 *
string a = myString.Substring(2,2); //从myString字符串的第三位开始获取
两个字符,因为索引
起始位是0
string a = myString.Replace("i","o"); //将这个字符串中的所有“i”替换成“
o”
C#中字符串实际上是Char变量的只读数组。
CompareOrdinal 通过计算每个字符串中相应Char对象的数值来比较两个String对象
CompareTo 与指定的对象或String进行比较,并返回二者相对值的指示
Concat 连接String的一个或多个实例,或Object的一个或多个实例的值的String表示
形式
Contains 返回一个值,该值指示指定的String对象是否出现在此字符串中
Copy 创建一个与指定的String具有相同值的String的新实例
CopyTo 将指定数目的字符从指定位置复制到Unicode字符数组中的指定位置
EndsWith 确定String的末尾是否与指定的字符串匹配
Equals 确定两个String对象是否具有相同的值
Format
将指定的String中的每个格式项替换为相应对象的值的文本等效项
GetEnumerator 检索一个可以循环访问此字符串中的每个字符的对象
GetHashCode 返回该字符串的哈希代码
GetTypeCode 返回类String的TypeCode
IndexOf 报告String或一个或多个字符在此字符串中的第一个匹配项的索引
IndexOfAny 报告指定Unicode字符数组中的任意字符在此实例中第一个匹配项的索引
Insert 在指定索引位置插入一个指定的String实例
Intern 检索系统对指定String的引用
IsInterned 检索对指定String的引用
IsNormalized
指示此字符串是否符合特定的Unicode范式
string.IsNullOrEmpty(括号里是要想要验证的字符串) 指示指定的String对象是空引用还是Empty字符串
LastIndexOf 报告指定的Unicode字符或String在此实例中的最后一个匹配项的索引
位置
LastIndexOfAny
报告在Unicode数组中指定的一个或多个字符在此实例中的最
后一
个匹配项的索引位置
op_Equality
确定两个指定的String对象是否具有同一值