首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#中的左字符串函数

C#中的左字符串函数
EN

Stack Overflow用户
提问于 2010-08-31 16:29:11
回答 8查看 60.4K关注 0票数 21

在C#中返回字符串第一个单词的最佳方法是什么?

基本上,如果字符串是"hello world",我需要获取"hello"

谢谢

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-08-31 16:30:48

您可以组合使用SubstringIndexOf

代码语言:javascript
复制
var s = "Hello World";
var firstWord = s.Substring(0,s.IndexOf(" "));

但是,如果输入字符串只有一个单词,这将不会给出预期的单词,因此需要一个特殊情况。

代码语言:javascript
复制
var s = "Hello";
var firstWord = s.IndexOf(" ") > -1 
                  ? s.Substring(0,s.IndexOf(" "))
                  : s;
票数 27
EN

Stack Overflow用户

发布于 2010-08-31 16:35:05

您可以尝试:

代码语言:javascript
复制
string s = "Hello World";
string firstWord = s.Split(' ').First();

Ohad Schneider's注释是正确的,所以您可以简单地请求First()元素,因为总会有至少一个元素。

有关使用First()还是FirstOrDefault()的更多信息,您可以了解更多here

票数 53
EN

Stack Overflow用户

发布于 2010-08-31 16:34:15

一种方法是在字符串中查找空格,并使用空格的位置来获得第一个单词:

代码语言:javascript
复制
int index = s.IndexOf(' ');
if (index != -1) {
  s = s.Substring(0, index);
}

另一种方法是使用正则表达式来查找单词边界:

代码语言:javascript
复制
s = Regex.Match(s, @"(.+?)\b").Groups[1].Value;
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3607310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档