问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#拆分字符串

发布网友 发布时间:2022-05-07 04:47

我来回答

7个回答

热心网友 时间:2022-05-07 06:17

字符串提供有拆分方法。string.Splitchar[] a),a为拆分的标识,在你的例子中"aa/bb/cc/dd".Split("/".toCharArray())的结果为包含有"aa","bb","cc","dd"的字符串数组。

String..::.Split 方法 (array<Char>[]()[])

更新:2007 年 11 月

返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。

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

语法
Visual Basic(声明)
Public Function Split ( _
ParamArray separator As Char() _
) As String()

Visual Basic (用法)
Dim instance As String
Dim separator As Char()
Dim returnValue As String()

returnValue = instance.Split(separator)

C#
public string[] Split(
params char[] separator
)

Visual C++
public:
array<String^>^ Split(
... array<wchar_t>^ separator
)

J#
public String[] Split(
char[] separator
)

JScript
public function Split(
... separator : char[]
) : String[]

参数
separator
类型:array<System..::.Char>[]()[]

分隔此实例中子字符串的 Unicode 字符数组、不包含分隔符的空数组或 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。

返回值
类型:array<System..::.String>[]()[]

一个数组,其元素包含此实例中的子字符串,这些子字符串由 separator 中的一个或多个字符分隔。有关更多信息,请参见“备注”部分。

备注
返回的数组元素中不包含分隔符字符。

如果此实例不包含 separator 中的任何字符,则返回的数组由包含此实例的单个元素组成。

如果 separator 参数为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing) 或不包含任何字符,则采用空白字符作为分隔符。下表列出了由 Split 方法识别的空白字符。(它们与由 String..::.Trim 方法识别的空白字符稍有不同。)

Unicode 名称
Unicode 码位
备注

CHARACTER TABULATION
U+0009

LINE FEED
U+000A

LINE TABULATION
U+000B

FORM FEED
U+000C

CARRIAGE RETURN
U+000D

SPACE
U+0020

NEXT LINE
U+0085
在 .NET Framework 2.0 版中引入。

NO-BREAK SPACE
U+00A0

OGHAM SPACE MARK
U+1680

EN QUAD
U+2000

EM QUAD
U+2001

EN SPACE
U+2002

EM SPACE
U+2003

THREE-PER-EM SPACE
U+2004

FOUR-PER-EM SPACE
U+2005

SIX-PER-EM SPACE
U+2006

FIGURE SPACE
U+2007

PUNCTUATION SPACE
U+2008

THIN SPACE
U+2009

HAIR SPACE
U+200A

ZERO WIDTH SPACE
U+200B
仅限 .NET Framework 1.0 和 1.1 版。

LINE SEPARATOR
U+2028

PARAGRAPH SEPARATOR
U+2029

IDEOGRAPHIC SPACE
U+3000

separator 的每一个元素都定义一个单独的分隔符字符。如果两个分隔符相邻,或者在此实例的开头或末尾找到分隔符,则相对应的数组元素包含 Empty。

例如:

字符串值
分隔符
返回的数组

"42, 12, 19"
new Char[] {',', ' '} (C#)

Char() = {","c, " "c}) (Visual Basic)
{"42", "", "12", "", "19"}

"42..12..19"
new Char[] {'.'} (C#)

Char() = {"."c} (Visual Basic)
{"42", "", "12", "", "19"}

"Banana"
new Char[] {'.'} (C#)

Char() = {"."c} (Visual Basic)
{"Banana"}

"Darb\nSmarba" (C#)

"Darb" & vbLf & "Smarba" (Visual Basic)
new Char[] {} (C#)

Char() = {} (Visual Basic)
{"Darb", "Smarba"}

"Darb\nSmarba" (C#)

"Darb" & vbLf & "Smarba" (Visual Basic)
null (C#)

Nothing (Visual Basic)
{"Darb", "Smarba"}

性能注意事项
Split 方法为返回的数组对象分配内存,同时还为每一个数组元素分配一个 String 对象。如果您的应用程序要求达到最佳性能,或者如果在您的应用程序中内存分配管理很关键,请考虑使用 IndexOf 或 IndexOfAny 方法,也可以选择使用 Compare 方法,在字符串中定位子字符串。

如果在分隔符字符处分割字符串,请使用 IndexOf 或 IndexOfAny 方法在字符串中定位分隔符字符。如果在分隔符字符串处分割字符串,请使用 IndexOf 或 IndexOfAny 方法定位分隔符字符串的第一个字符。然后使用 Compare 方法确定第一个字符后面的字符是否等于分隔符字符串的其余字符。

此外,如果在多个 Split 方法调用中使用相同的字符集拆分字符串,请考虑创建一个数组并在每个方法调用中都引用该数组。这可以极大地减少每个方法调用的额外系统开销。

示例
下面的示例演示如何通过将空白和标点符号视为分隔符来提取文本块中的各个单词。传递给 String..::.Split(array<Char>[]()[]) 方法的 separator 参数的字符数组包含空白字符和一些常用标点符号。

Visual Basic 复制代码
Public Class SplitTest
Public Shared Sub Main()
Dim words As String = "This is a list of words, with: a bit of punctuation."
Dim split As String() = words.Split(New [Char]() {" "c, ","c, "."c, ":"c})

For Each s As String In split
If s.Trim() <> "" Then
Console.WriteLine(s)
End If
Next s
End Sub 'Main
End Class 'SplitTest
' The example displays the following output to the console:
' This
' is
' a
' list
' of
' words
' with
' a
' bit
' of
' punctuation

C# 复制代码
using System;

public class SplitTest {
public static void Main() {

string words = "This is a list of words, with: a bit of punctuation.";

string [] split = words.Split(new Char [] {' ', ',', '.', ':'});

foreach (string s in split) {

if (s.Trim() != "")
Console.WriteLine(s);
}
}
}
// The example displays the following output to the console:
// This
// is
// a
// list
// of
// words
// with
// a
// bit
// of
// punctuation

Visual C++ 复制代码
using namespace System;
using namespace System::Collections;
int main()
{
String^ words = "This is a list of words, with: a bit of punctuation.";
array<Char>^chars = {' ',',','->',':'};
array<String^>^split = words->Split( chars );
IEnumerator^ myEnum = split->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum->Current);
if ( !s->Trim()->Equals( "" ) )
Console::WriteLine( s );
}
}
// The example displays the following output to the console:
// This
// is
// a
// list
// of
// words
// with
// a
// bit
// of
// punctuation

J# 复制代码
import System.*;

public class SplitTest
{
public static void main(String[] args)
{
String words = "This is a list of words, with: a bit of punctuation.";
String split[] = words.Split(new char[] { ' ', ',', '.', ':' });

for (int iCtr = 0; iCtr < split.get_Length(); iCtr++) {
String s = (String)split.get_Item(iCtr);
if (!(s.Trim().Equals(""))) {
Console.WriteLine(s);
}
}
} //main
}
// The example displays the following output to the console:
// This
// is
// a
// list
// of
// words
// with
// a
// bit
// of
// punctuation

JScript 复制代码
import System;

public class SplitTest {
public static function Main() : void {

var words : String = "This is a list of words, with: a bit of punctuation.";
var separators : char[] = [' ', ',', '.', ':'];
var split : String [] = words.Split(separators);

for (var i : int in split) {
var s : String = split[i];
if (s.Trim() != "")
Console.WriteLine(s);
}
}
}
SplitTest.Main();
// The example displays the following output to the console:
// This
// is
// a
// list
// of
// words
// with
// a
// bit
// of
// punctuation

平台
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

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

版本信息
.NET Framework
受以下版本支持:3.5、3.0、2.0、1.1、1.0

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

XNA Framework
受以下版本支持:2.0、1.0

热心网友 时间:2022-05-07 07:35

思路 就是把数组中的每个字符串都拆分开
然后 装到一个新的数组里面就行了
str1 = str[0] + "/" + str[1];
string[] strArr = str1.Split('/');
这样 strArr就成了{"aa","bb","cc","dd","ee","ff","gg","hh"};

用strArr[i]就能使用 相应的字符串了

热心网友 时间:2022-05-07 09:09

using System;
using System.Data;
using System.Collections.Generic;
class Test
{
static void Main()
{
string[] strvalues = new string[2];
strvalues[0] = "aa/bb/cc/dd";
strvalues[1] = "ee/ff/gg/hh";
string strnewvalues = string.Join("/", strvalues);
//我一般喜欢用控制台做实验 如果你要输出 将Console.WriteLine改成Response.Write
Console.WriteLine(strnewvalues.Replace("/", " "));
Console.ReadKey();
}
}

热心网友 时间:2022-05-07 11:01

string[] str = new string[2];
str[0] = "aa/bb/cc/dd";
str[1] = "ee/ff/gg/hh";
string ss = str[0] + "/" + str[1];
string[] FenKai = ss.Split('/');
for (int i = 0; i < FenKai.Length; i++)
{
Console.WriteLine(FenKai[i]);
}

热心网友 时间:2022-05-07 13:09

string a=str[0].Replace("/"," ");
string b=str[1].Replace("/"," ");
string c=a+b;

输出c就行了

热心网友 时间:2022-05-07 15:33

可试试String.Split 方法,具体用法请查阅MSDN

热心网友 时间:2022-05-07 18:15

string[] strArr = str1.Split('/'); 这个问题基本就解决了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中支黄金叶什么价 怎么在整个PPT中加入背景音乐,而不是在一张幻灯片中插入,我要的是从... 构造柱有哪些构造措施 中国风的女式花裤配什么鞋 留抵抵税额是什么意思 留抵税抵什么意思 ...里发现很多门店装修和华为一样的,但是官网查不到,这种店铺购买... 墙布贴了关窗多久 墙布贴了要关窗多久 墙布贴好要多久密闭多久 二手房公积金贷款最高年限是否为15年? 公务员考试国考与省考的区别包括哪些 求官场有声小说全集打包下载 714019620@qq.com 谢谢 有声小说“首席医官”有多少集? 200集以上的官场有声小说 有声小说官场无兄弟 首席医官全集下载有声小说 有声小说官场小说步步登高 拼多多砍价有没有什么软件啊 笔记本电脑显示电源已接通,但未充电,电量为0 premiere cc视频插入到序列里音频没有了怎么回事 手机好友关闭了好友推送怎么找他的快手? 保定老作坊饭店的定桌电话号码是多少? 惠东巽寮喜来登酒店的订房电话多少?在哪个位置? 温岭弘泽饭店预定电话 长春国际会展中心大饭店如何预订会议厅 青岛水上江南大酒店订餐电话 山水大酒店订餐电话 qq 视频设置 为什么我的手机qq视频会收费,我用的是wifi,求解? 小孩子很调皮,怎么办&#xF631;? 有些小孩总是特别调皮,原因是什么?该怎样解决? 小孩子应该怎么教育她?太调皮了 小男孩特别调皮怎么办 用strstr函数分割字符串 105平米复式房全包装修多少钱 复式房装修费用大概是多少 110平复式楼装修多少钱 100平米复式小户型装修预算要花多少钱才够用 复式楼装修大概多少钱一平米?如何装修更实惠? 复式楼装修一般多少钱? 成都复式楼中等装修多少钱一平?一般怎么算费用的呢 二百平的复式楼房装修大概多少钱 50平米复式楼装修报价 复式楼装修哪里花费高 复式208平装修多少钱 装修一套35平的复式房需要多少钱 40平复式楼装修大概多少钱 华为手机下载应用突然自己删除了是怎么回事 华为HUAWEI nova 6使用手机应用商店下载东西取消了为何手机内软件全部自动删? 为什么华为手机下载游戏后自动删除 玩不了游戏