首页 / 知识
C#是否具有像Java一样的String Tokenizer?
2023-04-15 19:35:00

Does C# have a String Tokenizer like Java's?我正在执行简单的字符串输入解析,并且需要一个字符串标记器。 我是C#的新手,但是已经编程过Java,因此C#应该具有字符串标记器似乎很自然。 可以? 它在哪里? 如何使用? 您可以使用String.Split方法。
有关更多信息,请参见Sam Allen的有关在c#中分割字符串的文章(Performance,Regex) 我只想强调C#的Split方法的功能并提供更详细的比较,尤其是来自Java背景的人。 尽管Java中的StringTokenizer仅允许使用一个定界符,但实际上我们可以拆分多个定界符,从而使正则表达式的必要性降低(尽管如果需要正则表达式,则一定要使用正则表达式!)例如:
这将拆分为三个不同的定界符,并返回令牌数组。对于上面的示例,我们还可以使用第二个参数删除空数组:
Java的String标记生成器确实具有我相信C#缺少的一件事(至少Java 7具有此功能)是将分隔符保留为标记的能力。 C#的Split将丢弃令牌。这在某些NLP应用程序中可能很重要,但是对于更通用的应用程序来说,这可能不是问题。 您需要使用字符串的split方法。实际上,不赞成使用Java中的tokenizer类,而推荐使用Java的字符串拆分方法。 我认为.NET Framework中最接近的是
与Java的方法类似:
哪里
要么
对于复杂的拆分,您可以使用正则表达式创建一个match集合。
使用
读到此,split函数有一个重载,需要一个由分隔符组成的数组 如果您尝试在.NET Console应用程序中执行诸如拆分命令行参数之类的操作,则会遇到问题,因为.NET已损坏或试图变得更聪明(这意味着它同样出色)。我需要能够通过空格字符来分隔参数,并保留引用的所有文字,以便它们不会在中间被分隔。这是我为完成这项工作而编写的代码:
如果使用的是C#3.5,则可以将扩展方法写入System.String,该方法可以进行所需的拆分。然后,您可以使用语法:
更多信息和来自MS的有用示例,请参见http://msdn.microsoft.com/zh-cn/library/bb383977.aspx |
最新内容
相关内容
linux命令行执行成功?
linux命令行执行成功?,系统,信息,状态,服务,管理,百度,设计,灵活,代码,命令,Linux系统中如何用shell脚步判断是否telnet成功。1、连接到相应的安卓执行linux命令行?
安卓执行linux命令行?,系统,设备,基础,发展,标准,情况,信息,电话,号码,工具,安卓超级终端可以执行全部linux命令吗?可以,安卓都行,下个终端模拟c执行在linux命令?
c执行在linux命令?,系统,环境,保险,工具,代码,命令,程序,文件,终端,语言,如何在c++程序里用linux命令FILE *fp = popen(cmd);执行cmd中的命令,然linux执行中退出命令?
linux执行中退出命令?,档案,状态,命令,分析,数据,电脑,实时,系统,工具,编辑,linux用VI编辑后保存退出命令是什么啊?linux退出vi编辑命令有四种linux授权命令执行?
linux授权命令执行?,系统,工作,数字,权限,文件,概念,标准,命令,目录,用户,在Linux系统中,执行什么命令查看文件或目录的权限?1、linux查看文件linux定时执行命令?
linux定时执行命令?,时间,系统,服务,任务,工作,标准,情况,周期性,工具,命令,linux下编写定时任务crontablinux怎么添加定时任务?下面就让我们来如何在linux执行命令?
如何在linux执行命令?,单位,电脑,命令,系统,基础,发行,工具,工作,信息,文件,mv什么意思呢?1、MV的意思具体如下:mV是一个较小的电压单位,可以用linux看命令执行过程?
linux看命令执行过程?,系统,服务,状态,软件,时间,数据,地址,命令,进程,情况,linux查看历史命令记录及时间(linux查看历史命令执行时间)打开linlinux登陆执行命令?
linux登陆执行命令?,系统,服务,工具,地址,密码,百度,管理,检测,网络,第一,怎么在linux启动的时候执行一个命令?1、如果 你装的是centos6 的系linux权限命令可执行?
linux权限命令可执行?,系统,工具,信息,权限,数字,网络,发行,底部,代码,文件,linux修改文件权限?1、打开linux系统,在linux的桌面的空白处右击。字符串查找命令linux?
字符串查找命令linux?,系统,字符串,工具,信息,文件,命令,字符,选项,文本,范本,如何在Linux下查找文件内容包含某个特定字符串的文件在linux中glinux远程执行多命令?
linux远程执行多命令?,工具,服务,命令,状态,暂停,代码,底部,时间,地址,系统,Linux多台主机批量执行命令1、执行命令(记得先对doCommand.s h增加