截取字符串的一些东东
系统
2019-08-29 22:26:52
2379 0
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)<!---->
<!--Content type: DocStudio. Transform: devdiv2mtps.xslt.-->
文字、バイナリ、テキスト、またはイメージ型の式の一部を返します。SQL Server 2005 で、この関数と一緒に使用できる有効なデータ型の詳細については、「
データ型 (Transact-SQL)
」を参照してください。
A. SUBSTRING に文字列を使用する
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_idlogopr_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 中)
语法
VisualBasic(用法)
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
从零开始。
<ktable keywords="tt_M:System.String.Substring(System.Int32,System.Int32)" disambiguator="table" xmlns:mshelp="http://msdn.microsoft.com/mshelp" indexmoniker="!DefaultDynamicLinkIndex" topicheader="主题" locheader="位置"></ktable>
示例
下面的代码示例在三种情况下使用
Substring
方法,在字符串中分隔子字符串。在两种情况下,在比较中使用子字符串,在第三种情况下,由于指定的参数无效而引发异常。
Visual Basic
Dim
myString
As
String
=
"
abc
"
Dim
test1
As
Boolean
=
String
.Compare(myString.Substring(
2
,
1
),
"
c
"
)
=
0
'
Thisistrue.
myString.Substring(
3
,
1
)
'
ThisthrowsArgumentOutOfRangeException.
Dim
test2
As
Boolean
=
String
.Compare(myString.Substring(
3
,
0
),
String
.Empty)
=
0
'
Thisistrue.
C#
StringmyString
=
"
abc
";
bool
test1
=String.Compare(myString.Substring(2
,
1
),
"
c
"
)
==
0
;
//
Thisistrue.
myString.Substring(
3
,
1
);
//
ThisthrowsArgumentOutOfRangeException.
bool
test2
=
String.Compare(myString.Substring(
3
,
0
),String.Empty)
==
0
;
//Thisistrue.
语法2
异常
备注
索引是从零开始的。
<ktable keywords="tt_M:System.String.Substring(System.Int32)" disambiguator="table" xmlns:mshelp="http://msdn.microsoft.com/mshelp" indexmoniker="!DefaultDynamicLinkIndex" topicheader="主题" locheader="位置"></ktable>
示例
下面的代码示例演示如何从字符串中获取子字符串。
Visual Basic
Imports
System
Public
ClassSubStringTest
Class
SubStringTest
Public
Shared
SubMain()
Sub
Main()
Dim
info
As
String
()
=
{
"
Name:FelicaWalker
"
,
"
Title:Mz.
"
,
"
Age:47
"
,
"
Location:Paris
"
,
"
Gender:F
"
}
Dim
found
As
Integer
=
0
Console.WriteLine(
"
Theinitialvaluesinthearrayare:
"
)
Dim
s
As
String
For
Each
s
In
info
Console.WriteLine(s)
Next
s
Console.WriteLine(
"
{0}Wewanttoretrieveonlythekeyinformation.Thatis:
"
,Environment.NewLine)
For
Each
s
In
info
found
=
s.IndexOf(
"
:
"
)
Console.WriteLine(s.Substring((found
+
1
)).Trim())
Next
s
EndSub
'
Main
EndClass
'
SubStringTest
C#
using
System;
public
class
SubStringTest
...
{
public
static
void
Main()
...
{
string
[]info
=
...
{
"
Name:FelicaWalker
"
,
"
Title:Mz.
"
,
"
Age:47
"
,
"
Location:Paris
"
,
"
Gender:F
"
}
;
int
found
=
0
;
Console.WriteLine(
"
Theinitialvaluesinthearrayare:
"
);
foreach
(
string
s
in
info)
Console.WriteLine(s);
Console.WriteLine(
"
{0}Wewanttoretrieveonlythekeyinformation.Thatis:
"
,Environment.NewLine);
foreach
(
string
s
in
info)
...
{
found
=
s.IndexOf(
"
:
"
);
Console.WriteLine(s.Substring(found
+
1
).Trim());
}
}
}
平台
<supportedplatforms xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"></supportedplatforms>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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见<link keywords="298275e2-da1d-4618-9f74-6a3567832350" xmlns:mshelp="http://msdn.microsoft.com/mshelp">。
版本信息
.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
);
截取字符串的一些东东
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】 元
喜欢作者