如何通过将字符串传递给您要查找的子字符串文本来获取字符串的子字符串。你也可以将正则表达式和普通文本结合起来而不会引起任何问题通过搜索字符串获取子字符串文本来获取字符串的子字符串?
回答
既然你已经知道子字符串了,我假设你正在检查字符串是否包含子字符串;你可以做
bool hasSubstring = str.Contains(subStr);
不,我已经知道如何检查它,我只是不确定如何获得它的位置 – Chris 2011-05-26 21:02:35
'str.IndexOf(subStr)'会给你第一次出现的位置。还有一个'LastIndexOf()' – 2011-05-26 23:15:14
如果你想知道,如果一个子串,你可以使用Contains字符串中存在。如果你想知道字符串中子字符串的位置,你可以使用IndexOf(它也可以用来查看它是否存在......见下面的例子)。
int subStringPosition = yourStringVariable.IndexOf("yourSubString");
UPDATE:
基于您对URL匹配的注释,你可以做
查找字符串的位置bool subStringExists = yourStringVariable.Contains("yourSubString");
bool subStringExists = yourStringVariable.IndexOf("yourSubString") >= 0;
例子:检查子的存在
例子这一切都与一个正则表达式。使用正则表达式,可以使表达式的某些部分是文字,而其他部分是可变的。在你试图做你有这样的事情对你的正则表达式是什么情况:
// Will match on http://www.mywebsite.com/abc#.aspx, where # is 1 or more digits
const string regExCommand = "(http://www.mywebsite.com/abc\\d+\\.aspx)";
这是一个完整的工作示例,你可以复制到一个控制台项目和玩找出到底是什么您需要:
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace RegExExample
{
public class Program
{
static void Main()
{
var urls = new List<Url>
{
new Url
{
Name = "Match 1",
Address = "http://www.mywebsite.com/abc123.aspx"
},
new Url
{
Name = "Match 2",
Address = "http://www.mywebsite.com/abc45.aspx"
},
new Url
{
Name = "Match 3",
Address = "http://www.mywebsite.com/abc5678.aspx"
},
new Url
{
Name = "No Match 1",
Address = "http://www.otherwebsite.com/abc123.aspx"
// No match because otherwebsite.com
},
new Url
{
Name = "No Match 2",
Address = "http://www.mywebsite.com/def123.aspx"
// No match because def
}
};
// Will match on http://www.mywebsite.com/abc#.aspx, where # is 1 or more digits
const string regExCommand = "(http://www.mywebsite.com/abc\\d+\\.aspx)";
var r = new Regex(regExCommand, RegexOptions.IgnoreCase | RegexOptions.Singleline);
urls.ForEach(u =>
{
var m = r.Match(u.Address);
if (m.Success)
{
Console.WriteLine(String.Format("Name: {0}{1}Address: {2}{1}",
u.Name,
Environment.NewLine,
u.Address));
}
});
Console.ReadLine();
}
}
internal class Url
{
public string Name { get; set; }
public string Address { get; set; }
}
}
输出将如下所示:
名称:1场
地址:http://www.mywebsite.com/abc123.aspx
名称:第2场
地址:http://www.mywebsite.com/abc45.aspx
- 1. 从字符串获取子字符串__
- 2. 如何通过PHP从字符串获取子字符串?
- 3. KDB获取子字符串
- 4. JQuery获取子字符串?
- 5. 获取字符串中子字符串的第一个字母
- 6. 如何从C#中的字符串中获取字符串的子字符串?
- 7. 如何在字符串的特定子字符串之后获取字符串?
- 8. 获取子串给定的字符串
- 9. 在字符串中获取字符串
- 10. 获取字符串2个字符串
- 11. C#字符串操作。获取文件名子字符串
- 12. C字符串搜索获取字符串的一部分
- 13. 从文本中获取子字符串
- 14. 从字符串获取子串C
- 15. PHP从字符串获取子串
- 16. 获取子字符串的索引
- 17. PHP:获取字符串A和字符串B之间的字符串(多个字符串需要被搜索)
- 18. 获取使用sql的子字符串之前的字符串?
- 19. 如何从linux中的字符串获取子字符串?
- 20. 如何获取Unicode字符串的Ruby子字符串?
- 21. 如何从python中的字符串获取子字符串2
- 22. 获取给定字符串的子字符串
- 23. 从javascript中的html字符串获取子字符串
- 24. 从一个主字符串获取不同的子字符串
- 25. 在JavaScript中获取字符串的所有子字符串
- 26. 如何从给定的字符串获取子字符串?
- 27. 获取匹配字符串的子字符串与RexEx
- 28. 获取字符串中所有子字符串的出现
- 29. 从不断变化的字符串中获取子字符串
- 30. 获取字符串的特定子字符串
可以使用。载,但我真的不知道你问 – soandos 2011-05-26 02:09:15
你能给怎样的例子这应该工作?我只是不确定你想要做什么。 – 2011-05-26 02:11:23
你可以在你的问题的第二部分给出更多的解释吗? – 2011-05-26 02:39:03