截取字符串的一些东东
2007-08-24 13:06
162 查看
ORACLE 截取字符串
文字列の一部を切り出すには、SUBSTR関数またはSUBSTRB関数を使用します。
※SUBSTRとSUBSTRBの違い
SUBSTRが文字列の位置を文字数で扱うことに対して、SUBSTRBは文字列の位置をバイト数で扱います。
例1) 文字列'あいうえお'の3文字目以降の文字列を返します。(SUBSTR)
例2) 文字列'あいうえお'の3バイト目以降の文字列が返されます。(SUBSTRB)
例3) 文字列'あいうえお'の3文字目から2文字返されます。(SUBSTR)
例4) 文字列'あいうえお'の3バイト目から2バイト返されます。(SUBSTRB)
例5)文字列'あいうえお'の最後から2文字目以降の文字列を返します。(SUBSTR)
※開始位置に負の数を指定すると、文字列の最後から検索されます。
SQL Server 截取字符串
SQL Server 2005 Books Online
SUBSTRING (Transact-SQL)
文字、バイナリ、テキスト、またはイメージ型の式の一部を返します。SQL Server 2005 で、この関数と一緒に使用できる有効なデータ型の詳細については、「データ型 (Transact-SQL)」を参照してください。
以下に結果セットを示します。
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'
以下に結果セットを示します。
次の例では、text データと ntext データの両方に対する SUBSTRING の効果を示します。この例では最初に、npub_info という名前の pubs データベースに新しいテーブルを作成します。次に、pub_info.pr_info 列の最初の 80 文字から npub_info テーブルの pr_info 列を作成し、最初の文字として ü を追加します。最後に、INNER JOIN を使って、text および ntext の両方のパブリッシャ情報列から、すべてのパブリッシャ ID 番号と SUBSTRING を取得します。
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl13bbe24e5,";
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl13img,";
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl15ac4267f,";
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl15img,";
从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
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 从零开始。
下面的代码示例在三种情况下使用 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.
语法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
)
返回值
一个 String 对象,它等于此实例中从 startIndex 开始的子字符串,如果 startIndex 等于此实例的长度,则为 Empty。
索引是从零开始的。
下面的代码示例演示如何从字符串中获取子字符串。
Visual Basic
Imports System
Public Class SubStringTestClass SubStringTest
Public Shared Sub Main()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());
}
}
}
平台
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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
// 汉字好像有乱码,仅列举非汉字
$str = "2007-08-29";
// 2007
$a = substr($str , 0, 4);
// 08
$b = substr($str, 6, 2);
// 29
$c = substr($str, 9, 2);
文字列の一部を切り出すには、SUBSTR関数またはSUBSTRB関数を使用します。
SUBSTR(文字列 , 開始位置 ) | 文字列 の開始位置 から後ろの文字列を返します |
SUBSTRB(文字列 , 開始位置 ) | |
SUBSTR(文字列 , 開始位置 , 文字数 ) | 文字列 の開始位置 から文字数分の文字を返します |
SUBSTRB(文字列 , 開始位置 , バイト数 ) | 文字列 の開始位置 からバイト数分の文字を返します |
SUBSTRが文字列の位置を文字数で扱うことに対して、SUBSTRBは文字列の位置をバイト数で扱います。
例1) 文字列'あいうえお'の3文字目以降の文字列を返します。(SUBSTR)
select substr('あいうえお',3) from dual 結果は、'うえお'が返されます。 |
select substrb('あいうえお',3) from dual 結果は、'いうえお'が返されます。 |
select substr('あいうえお',3,2) from dual 結果は、'うえ'が返されます。 |
select substrb('あいうえお',3,2) from dual 結果は、'い'が返されます。 |
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 截取字符串
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl13bbe24e5,";
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl13img,";
var ExpCollDivStr = ExpCollDivStr;
ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl15ac4267f,";
var ExpCollImgStr = ExpCollImgStr;
ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl15img,";
从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
语法
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。
异常
异常类型 | 条件 |
---|---|
ArgumentOutOfRangeException | startIndex 加 length 之和指示一个不在此实例内的位置。 - 或 - startIndex 或 length 小于零。 |
备注
startIndex 从零开始。
示例
下面的代码示例在三种情况下使用 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.
语法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。
异常
异常类型 | 条件 |
---|---|
ArgumentOutOfRangeException | startIndex 小于零或大于此实例的长度。 |
备注
索引是从零开始的。
示例
下面的代码示例演示如何从字符串中获取子字符串。Visual Basic
Imports System
Public Class SubStringTestClass SubStringTest
Public Shared Sub Main()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());
}
}
}
平台
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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.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);
相关文章推荐
- 【J2SE】Java截取字符串的一些常用处理
- js正则表达式的一些研究,截取两个字符串中间的字符串
- Java截取字符串的一些常用处理
- Python字符串的一些操作(截取+替换+查找+分割)
- Shell常用的一些操作集锦(如字符串截取、字符串比较以及For循环等)
- 截取字符串的一些方法
- 类库------对一些字符串进行操作的类1.判断输入是否数字2.截取字符串函数3.过滤输入信息4.生成随机数5.生成验证码图片6.获取汉字第一个拼音7.半角转全角8.全角转半角
- 使用PHP函数写验证码截取一些字符串
- 黑马程序员——OC语言日志——NSString字符串的截取、替换,数据类型转换等一些用法
- MYSQL一些字符串的处理,如拼接,截取等,便于用在同一字段中多个值的处理
- 分享dos批处理命令的一些使用技巧(截取字符串)
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- 关于mysql根据特定字符来截取字符串的一些方法
- js正则表达式的一些研究,截取两个字符串中间的字符串
- Java 截取字符串的一些操作
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- sed正则截取字符串的一些坑
- 截取字符串的一些常用方法
- 截取固定长度字符串显示在页面,多余部分显示为省略号(区分汉字和字符)