截取字符串的一些东东

ORACLE 截取字符串


文字列の一部を切り出すには、SUBSTR関数またはSUBSTRB関数を使用します。

SUBSTR(文字列 , 開始位置 )文字列 の開始位置 から後ろの文字列を返します
SUBSTRB(文字列 , 開始位置 )
SUBSTR(文字列 , 開始位置 , 文字数 )文字列 の開始位置 から文字数分の文字を返します
SUBSTRB(文字列 , 開始位置 , バイト数 )文字列 の開始位置 からバイト数分の文字を返します

※SUBSTRとSUBSTRBの違い
SUBSTRが文字列の位置を文字数で扱うことに対して、SUBSTRBは文字列の位置をバイト数で扱います。

例1) 文字列'あいうえお'の3文字目以降の文字列を返します。(SUBSTR)
 select
  substr('あいうえお',3)
 from dual

結果は、'うえお'が返されます。


例2) 文字列'あいうえお'の3バイト目以降の文字列が返されます。(SUBSTRB)
 select
  substrb('あいうえお',3)
 from dual

 結果は、'いうえお'が返されます。


例3) 文字列'あいうえお'の3文字目から2文字返されます。(SUBSTR)
 select
  substr('あいうえお',3,2)
 from dual

 結果は、'うえ'が返されます。


例4) 文字列'あいうえお'の3バイト目から2バイト返されます。(SUBSTRB)
 select
  substrb('あいうえお',3,2)
 from dual

 結果は、'い'が返されます。


例5)文字列'あいうえお'の最後から2文字目以降の文字列を返します。(SUBSTR)
 select
  substr('あいうえお',-2)
 from dual

 結果は、'えお'が返されます。
※開始位置に負の数を指定すると、文字列の最後から検索されます。
 

SQL Server 截取字符串


SQL Server 2005 Books Online

SUBSTRING (Transact-SQL)

文字、バイナリ、テキスト、またはイメージ型の式の一部を返します。SQL Server 2005 で、この関数と一緒に使用できる有効なデータ型の詳細については、「データ型 (Transact-SQL)」を参照してください。

A. SUBSTRING に文字列を使用する

文字列定数 abcdef の 2 番目、3 番目、および 4 番目の文字を表示するには、次のようにします。

            
            
SELECT  x  =   SUBSTRING ( ' abcdef ' 2 3 )

以下に結果セットを示します。 

            
            
x
-- --------
bcd

(
1  row(s) affected)

B. SUBSTRING に text、ntext、および image 型のデータを使用する 

次の例では、pubs データベースにある pub_info テーブルの text および image データ列から、それぞれ最初の 200 文字を返します。text データは varchar として返され、image データは varbinary として返されます。

USE  pubs
SELECT  pub_id,  SUBSTRING (logo,  1 10 AS  logo, 
   
SUBSTRING (pr_info,  1 10 AS  pr_info
FROM  pub_info
WHERE  pub_id  =   ' 1756 '

以下に結果セットを示します。 

            
            
pub_id logo    pr_info    
-- ---- ---------------------- ---------- 
1756     0x474946383961E3002500  This  is  sa

(
1  row(s) affected)

次の例では、text データと ntext データの両方に対する SUBSTRING の効果を示します。この例では最初に、npub_info という名前の pubs データベースに新しいテーブルを作成します。次に、pub_info.pr_info 列の最初の 80 文字から npub_info テーブルの pr_info 列を作成し、最初の文字として ü を追加します。最後に、INNER JOIN を使って、text および ntext の両方のパブリッシャ情報列から、すべてのパブリッシャ ID 番号と SUBSTRING を取得します。

 
            
            

PostgreSQL 截取字符串


 

-- POSTGRESQL
select  
--  "華23人民"
substring ( ' 中華23人民共和国 ' 2 5 as  a,
--  "華2人3民"    
substring ( ' 中華2人3民共和国 ' 2 5 as  b,
--  "中華2人"
substring ( ' 中華2人3民共和国 ' 0 5 as  c,
--  "中華2人3"
substring ( ' 中華2人3民共和国 ' 1 5 as  d;


.NET 截取字符串
            
            
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl13bbe24e5,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl13img,"; </script>
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl15ac4267f,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl15img,"; </script>

从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。

命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)

Collapse 图像语法

 
Visual Basic(用法) 
Dim  instance  As   String
Dim  startIndex  As   Integer
Dim  length  As   Integer
Dim  returnValue  As   String

returnValue 
=  instance.Substring(startIndex, length) 
 
C# 
public   string  Substring (
    
int  startIndex,
    
int  length

 
startIndex               子字符串的起始位置的索引。
length                     子字符串中的字符数。                                             
返回值 一个 String,它等于此实例中从 startIndex 开始的长度为 length 的子字符串,如果 startIndex 等于此实例的长度且 length 为零,则为 Empty。

Collapse 图像异常

异常类型条件

ArgumentOutOfRangeException

startIndexlength 之和指示一个不在此实例内的位置。

- 或 -

startIndexlength 小于零。

Collapse 图像备注

startIndex 从零开始。

Collapse 图像示例

下面的代码示例在三种情况下使用 Substring 方法,在字符串中分隔子字符串。在两种情况下,在比较中使用子字符串,在第三种情况下,由于指定的参数无效而引发异常。

Visual Basic 

Dim  myString  As   String   =   " abc "
Dim  test1  As   Boolean   =   String .Compare(myString.Substring( 2 1 ),  " c " =   0   '  This is true.
myString.Substring( 3 1 '  This throws ArgumentOutOfRangeException.
Dim  test2  As   Boolean   =   String .Compare(myString.Substring( 3 0 ),  String .Empty)  =   0   '  This is true.
 
C# 
String myString  =   " abc ";
bool  test1  = String.Compare(myString.Substring(2 1 ),  " c " ==   0 //  This is true.
myString.Substring( 3 1 );  //  This throws ArgumentOutOfRangeException.
bool  test2  =  String.Compare(myString.Substring( 3 0 ), String.Empty)  ==   0 // This is true.
 
Collapse 图像语法2
 
Visual Basic(用法)
Dim  instance  As   String
Dim  startIndex  As   Integer
Dim  returnValue  As   String

returnValue 
=  instance.Substring(startIndex)
C#
public   string  Substring (
    
int  startIndex
)
参数
startIndex            此实例中子字符串的起始字符位置。

 返回值

一个 String 对象,它等于此实例中从 startIndex 开始的子字符串,如果 startIndex 等于此实例的长度,则为 Empty。

Collapse 图像异常

异常类型条件

ArgumentOutOfRangeException

startIndex 小于零或大于此实例的长度。

Collapse 图像备注

索引是从零开始的。

Collapse 图像示例

下面的代码示例演示如何从字符串中获取子字符串。

Visual Basic 

Imports  System

Public   Class SubStringTest
    
    
Public Shared Sub Main()
        
Dim info As String() = {"Name: Felica Walker""Title: Mz.""Age: 47""Location: Paris""Gender: F"}
        
Dim found As Integer = 0
       
        Console.WriteLine(
"The initial values in the array are:")
        
Dim s As String
        
For Each s In  info
            Console.WriteLine(s)
        
        
Next s
        Console.WriteLine(
"{0}We want to retrieve only the key information. That is:", Environment.NewLine)
        
        
For Each s In  info
            found 
= s.IndexOf(":")
            Console.WriteLine(s.Substring((found 
+ 1)).Trim())
        
Next s
    
End Sub
 'Main
End Class
  ' SubStringTest

C# 

using  System;

public   class  SubStringTest  {
    
public static void Main() {

        
string [] info = {"Name: Felica Walker""Title: Mz.""Age: 47""Location: Paris""Gender: F"};
        
int found = 0;

        Console.WriteLine(
"The initial values in the array are:");
        
foreach (string s in info)
            Console.WriteLine(s);

        Console.WriteLine(
"{0}We want to retrieve only the key information. That is:", Environment.NewLine);        

        
foreach (string s in info) {
            found 
= s.IndexOf(":");
            Console.WriteLine(s.Substring(found 
+ 1).Trim());
        }

    }

}

 

  Collapse 图像平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见 系统要求 。

Collapse 图像版本信息

.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0PHP


//  汉字好像有乱码,仅列举非汉字
$str   =   " 2007-08-29 " ;
//  2007
$a   =   substr ( $str   ,   0 ,   4 );
//  08
$b   =   substr ( $str ,   6 ,   2 );
//  29
$c   =   substr ( $str ,   9 ,   2 );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值