如何通過將字符串傳遞給您要查找的子字符串文本來獲取字符串的子字符串。你也可以將正則表達式和普通文本結合起來而不會引起任何問題通過搜索字符串獲取子字符串文本來獲取字符串的子字符串?
回答
既然你已經知道子字符串了,我假設你正在檢查字符串是否包含子字符串;你可以做
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