首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SubString文本选择

SubString文本选择
EN

Stack Overflow用户
提问于 2013-12-10 22:21:53
回答 6查看 81关注 0票数 0

我使用的是C#,并具有以下字符串文本值:

代码语言:javascript
复制
get directions from Sydney to Melbourne

这是我目前想要得到的代码,它显示在“从”到“到”之间。

代码语言:javascript
复制
String fromDestination = InputTextbox.Text;
if (fromDestination.Contains("from"))
{
   fromDestination = fromDestination.Substring(fromDestination.IndexOf("from") + 5, fromDestination.IndexOf("to") - 3);
}

该代码从返回的值中删除单词" from“,但我不知道如何使用" to”。目前的产出是:悉尼到梅尔布。

谢谢你的帮助。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-12-10 22:26:05

这是另一条可能的路线。

你可以通过“从”和“到”分开。每个部分都是为您创建的:

代码语言:javascript
复制
var str = "get directions from Sydney to Melbourne";

var parts = str.Split(new string[] { "from", "to" }, StringSplitOptions.None); // split it up
var from = parts[1]; // index 1 is from
var to = parts[2];   // index 2 is to

Console.WriteLine(from); // "Sydney"
Console.WriteLine(to);   // "Melbourne"
票数 1
EN

Stack Overflow用户

发布于 2013-12-10 22:30:42

传递给子字符串方法的第二个参数是从实例字符串中提取的字符数,而不是另一个位置

代码语言:javascript
复制
String fromDestination = InputTextbox.Text;
int pos = fromDestination.IndexOf(" from ");
if(pos >= 0)
{
   int pos2 = fromDestination.IndexOf(" to ", pos);
   if(pos2 > -1)
   {
      int len = pos2 - (pos + 6);
      fromDestination = fromDestination.Substring(pos+6, len);

   }
}

注意,我已经更改了搜索字符串,在fromto之前和之后添加了一个空格。这是一种预防措施,以避免在城市名称中包含“to”作为其名称的一部分时,或者如果在实际启动from之前文本中嵌入了另一个from,则避免出现误报。

票数 1
EN

Stack Overflow用户

发布于 2013-12-10 22:28:21

如果字符串总是相同的,我建议使用一个简单的字符串拆分。

string fromDestination = InputTextbox.Text.Split(' ')[3];

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20506592

复制
相关文章

相似问题

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