有关 string.Split() 求救.

恶猫 2004-07-11 01:54:35
ASP中代码如下:

a="aaa||awr||ok3"
b=split(a,"||)
response.write b(1) & b(2) & b(0)


在C#中如何做到????????????????????????????????

...全文
706 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hfcc999 2004-07-11
  • 打赏
  • 举报
回复
用正则表达式可以
恶猫 2004-07-11
  • 打赏
  • 举报
回复
哎.

郁闷.

自己更改参数解决了.

三楼的朋友说的,虽然可以,但是我嫌那个太麻烦了,我是想省些占用的资源,

唉,,,,,,,,,,,,,,
triout 2004-07-11
  • 打赏
  • 举报
回复
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemStringClassSplitTopic1.htm
triout 2004-07-11
  • 打赏
  • 举报
回复
标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String 数组中。

[Visual Basic]
Overloads Public Function Split( _
ByVal ParamArray separator() As Char _
) As String()

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

[C++]
public: String* Split(
__wchar_t separator __gc[]
) __gc[];

[JScript]
public function Split(
separator : Char[]
) : String[];

参数
separator
分隔此实例中子字符串的 Unicode 字符数组、不包含分隔符的空数组或空引用(Visual Basic 中为 Nothing)。
返回值
如果此实例不包含 separator 中的任何字符,则为由包含此实例的单个元素组成的数组。

- 或 -

如果此实例由 separator 中的一个或多个字符分隔,则为子字符串数组。

- 或 -

如果出现空白字符,而且 separator 为空引用(Visual Basic 中为 Nothing)或不包含分隔符,则返回此实例中由空白字符分隔的子字符串数组。

对于其中有两个相邻分隔符的任何子字符串,或者在此实例的开头或结尾找到分隔符,则返回 Empty。

分隔符不包括在子字符串中。

备注
例如:

输入 分隔符 输出
"42, 12, 19" new Char[] {',', ' '} {"42", "", "12", "", "19"}
"42..12..19" new Char[] {'.'} {"42", "", "12", "", "19"}
"Banana" new Char[] {'.'} {"Banana"}
"Darb\nSmarba" new Char[] {} {"Darb", "Smarba"}
"Darb\nSmarba" 空 {"Darb", "Smarba"}

示例
下面的代码示例说明如何使用 Split 方法标记字符串。

[Visual Basic]
Imports System

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})

Dim s As String
For Each s In split
If s.Trim() <> "" Then

Console.WriteLine(s)
End If
Next s
End Sub 'Main
End Class 'SplitTest

[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);
}
}
}

[C++]
#using <mscorlib.dll>

using namespace System;
using namespace System::Collections;

void main()
{
String* words = S"this is a list of words, with: a bit of punctuation.";
Char chars[] = {' ', ', ', '->', ':'};
String* split[] = words->Split(chars);

IEnumerator* myEnum = split->GetEnumerator();
while (myEnum->MoveNext()) {
String* s = __try_cast<String*>(myEnum->Current);
if (!s->Trim()->Equals(S""))
Console::WriteLine(s);
}
}

[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();
triout 2004-07-11
  • 打赏
  • 举报
回复
也类似,不过,在C#中是使用字符来分解的,所以,如果你用"||"肯定不行,要用一个字符数组,哪怕只有一个元素,而且是'|',这样就会出现问题,如果你的字符串中只能用"||"来分解,而单个的"|"是有效的内容就不行了。

遇到这样的问题,我也没有很好的解决方案,通常是通过IndexOf和Substring配合使用来实现:

string [] Split(string strSrc,string strSplit)
{
ArrayList strArr=new ArrayList();
string strTmp=strSrc;
int iSplitLen=strSplit.Length;
int iIdx=strTmp.IndexOf(strSplit);
while(iIdx>=0)
{
strArr.Add(strTmp.Substring(0,iIdx);
strTmp=strTmp.Substring(iIdx+iSplitLen);
iIdx=strTmp.Indexof(strSplit);
}
strArr.Add(strTmp);
return strArr.ToArray(typeof(string));
}
恶猫 2004-07-11
  • 打赏
  • 举报
回复
TTTTTTT
​ 博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌项目名称基于Web的酒店客房管理系统的设计与实现系统说明3.2.1  用户模块功能分析前台模块应主要包括用户登录模块、用户注册模块、查看客房信息模块、客房预定 模块、用户留言模块、充值模块和个人信息维护模块。用户登录模块:用户通过输入注册的的账号和密码,然后进行身份验证,匹配成功 后实现登录功能。用户注册模块:用户输入合法的账号和密码可以实现注册功能。 查看客房信息模块:用户可以通过首页查看客房的价格,图片,详情等信息,从而   可以选择想要预定的房间。 客房预定模块:用户选择自己想要预定的客房后,可以通过输入相关信息进行订房操作。用户留言模块:用户可以向管理员发送留言。 充值模块:用户可以通过添加银行卡再为自己进行充值操作。 个人信息维护模块:用户可以修改自己的姓名、密码、身份证号等信息,还可以查看自己的订单。3.2.2  管理员模块功能分析对于管理员而言,一个好的管理系统总是能让酒店的管理工作事半功倍[7]。管理员 能够通过这个系统对自己的酒店情况一目了然,应该包括客户留言模块、客房管理模 块、订房信息管理模块、入住信息管理模块、统计分析模块、酒店新闻管理模块、会 员信息管理模块、员工信息管理模块、系统用户管理模块、个人信息维护模块。客户留言模块:管理员可以查看并回复用户的留言。客房管理模块:管理员可以管理客房信息,可以添加新的客房,删除已经停用的客房信息,还可以修改现有的客房信息。订房信息管理模块:管理员可以处理用户的订房请求,为用户办理入住手续。入住信息管理模块:对于没有注册的线下客户,也可以办理入住手续。统计分析模块:可以对酒店所有的入住信息进行记录和总结分析。酒店新闻管理模块:管理员可以更新网站上的新闻公告,展示图片等信息。会员信息管理模块:管理员可以查看到所有的注册会员信息,可以对会员信息进行删除,修改,添加操作。员工信息管理模块:管理员可以查看到自己公司所有的员工信息,而且还可以对员工的相关信息进行管理。系统用户管理模块:管理员可以查看到所有的系统管理员信息并对管理员信息进行管理。个人信息维护模块:管理员可以更改自己的登录密码或者是姓名、性别、手机号等 相关个人信息。​编辑 环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;6.是否Maven项目:否;技术栈1. 后端:Spring+SpringMVC+Mybatis2. 前端:JSP+CSS+JavaScript+jQuery使用说明1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;3. 将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;4. 运行项目,在浏览器中输入http://localhost:8080/ 登录运行截图​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑 用户管理控制层:package com.houserss.controller;import javax.servlet.http.HttpSession;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.houserss.common.Const;import com.houserss.common.Const.Role;import com.houserss.common.ServerResponse;import com.houserss.pojo.User;import com.houserss.service.IUserService;import com.houserss.service.impl.UserServiceImpl;import com.houserss.util.MD5Util;import com.houserss.util.TimeUtils;import com.houserss.vo.DeleteHouseVo;import com.houserss.vo.PageInfoVo;/** * Created by admin */@Controller@RequestMapping(/user/)public class UserController if (ip != null && ip.length() > 0) String[] ips = ip.split(,);for (int i = 0; i  

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧