Js中的substring,substr与C#中的Substring比较

 更新时间:2014年01月17日 10:15:39   作者:  
本篇文章主要是对Js中的substring,substr与C#中的Substring进行了比较。需要的朋友可以过来参考下,希望对大家有所帮助

Js的substring和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的使用方法却有很大的不同,下边我们来比较看看:

Js的substring

语法:

程序代码
String.substring(start, end)

说明:
返回一个从start开始到end(不包含end)的子字符串。

示例:

程序代码
var str="abcdefgh";
document.write(str.substring(0,1));//return:a
document.write(str.substring(2,5));//return:cde
document.write(str.substring(7,8));//return:h

C#的Substring

语法:

程序代码
String.Substring(int startIndex)
String.Substring(int startIndex, int length)

说明:
返回一个从startIndex开始到结束的子字符串,或返回一个从startIndex开始,长度为length的子字符串。

示例:

程序代码
string str = "abcdefgh";
Response.Write(str.Substring(0,1));//return:a
Response.Write(str.Substring(2,3));//return:cde
Response.Write(str.Substring(7,1));//return:h
Response.Write(str.Substring(7));//return:h
Response.Write(str.Substring(10));//error:startIndex 不能大于字符串长度。
Response.Write(str.Substring(7,10));//error:索引和长度必须引用该字符串内的位置。

经过上边的说明对它们的使用应该有个比较清楚的认识了,但对Js的substring还有几点要说明:

1.start不一定就是第一个参数,end也不一定就是第二个参数,substring(3,1)时,开始位置是1,结束位置是3;
2.当要返回的子字符串是从开始位置到结束时,end的值必须大于字符串的长度(即大于或等于字符串的索引),如上边的str.substring(7,8),按照索引从0开始算的话end的最大值为7,但这边却用8,当然,使用大于8的数返回的结果也是一样的,这点比较有意思;

js的Substr
 
语法:

程序代码
stringObject.substr(start,length)

说明:
在字符串中抽取从 start 下标开始的指定数目的字符。
start  必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

示例:

程序代码
<script type="text/javascript"> var str="Hello world!" document.write(str.substr(3)) </script>

输出:
lo world!

相关文章

  • C#的并发机制优秀在哪你知道么

    C#的并发机制优秀在哪你知道么

    这篇文章主要为大家详细介绍了C#的并发机制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 在C#中使用指针的示例代码

    在C#中使用指针的示例代码

    C#向开发人员隐藏了大部分基本内存管理操作,因为它使用了垃圾回收器和引用,但是,有时候我们也需要直接访问内存,例如:进行平台调用,性能优化等等,本文给大家介绍了在C#中使用指针的示例代码,需要的朋友可以参考下
    2024-10-10
  • 在 C# 中使用 Span<T> 和 Memory<T> 编写高性能代码的详细步骤

    在 C# 中使用 Span<T> 和 Memory<

    在本文中,将会介绍 C# 7.2 中引入的新类型:Span 和 Memory,文章深入研究 Span<T> 和 Memory<T> ,并演示如何在 C# 中使用它们,需要的朋友可以参考下
    2022-08-08
  • C# 位图BitArray的使用

    C# 位图BitArray的使用

    如果我们着重处理一个以位为单位的数据时,就可以考虑使用位数组。本文就介绍了C# 位图BitArray的使用,感兴趣的可以了解一下
    2021-06-06
  • DevExpress之ChartControl的SeriesTemplate实例

    DevExpress之ChartControl的SeriesTemplate实例

    这篇文章主要介绍了DevExpress之ChartControl的SeriesTemplate用法实例,实现了饼状Series百分比显示的效果,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • c# 实现打印机状态查询与阻塞打印

    c# 实现打印机状态查询与阻塞打印

    这篇文章主要介绍了c# 引用System.Management来实现对打印机状态的查询,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-05-05
  • 解决WPF绘制矢量图形模糊的问题

    解决WPF绘制矢量图形模糊的问题

    这篇文章介绍了WPF绘制矢量图形模糊问题的解决方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 探讨c#中的unchecked是什么意思,起什么作用?

    探讨c#中的unchecked是什么意思,起什么作用?

    本篇文章是对c#中的unchecked进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C#导出GridView数据到Excel文件类实例

    C#导出GridView数据到Excel文件类实例

    这篇文章主要介绍了C#导出GridView数据到Excel文件类,实例分析了C#使用GridView及Excel的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C#9新特性init only setter的使用

    C#9新特性init only setter的使用

    这篇文章主要介绍了C#9新特性init only setter的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论