Tag: substring

如何根据C#中字符串的长度读取子字符串

我有一个字符串,其中包含一个子字符串其中一个是“1.2 To Other Mobiles”,另一个是“Total”。现在根据我的要求,我必须阅读第一个子字符串之间的内容,即“.1.2到其他手机“和”总计“。我是通过在c#中使用代码来实现的。 int startPosition = currentText.IndexOf(“1 . 2 To Other Mobiles”); int endPosition = currentText.IndexOf(“Total”); string result = currentText.Substring(startPosition, endPosition – startPosition); 但是我面临的问题是“Total”在我的子串中很多次。我必须在startPosition长度之后读取最后一个位置长度,即“Total”。 怎么做?

由文化敏感的String.IndexOf方法匹配的子字符串长度

我尝试编写一种文化感知字符串替换方法: public static string Replace(string text, string oldValue, string newValue) { int index = text.IndexOf(oldValue, StringComparison.CurrentCulture); return index >= 0 ? text.Substring(0, index) + newValue + text.Substring(index + oldValue.Length) : text; } 但是,它在Unicode组合字符上窒息: // \u0301 is Combining Acute Accent Console.WriteLine(Replace(“déf”, “é”, “o”)); // 1. CORRECT: dof Console.WriteLine(Replace(“déf”, “e\u0301”, “o”)); // 2. INCORRECT: do Console.WriteLine(Replace(“de\u0301f”, “é”, […]

如何在字符串中查找特定句子的所有出现?

假设我有一个这样的字符串: string source = “Today is friday! I’m am having trouble programming this. Today is friday! Tomorrow is saturday. Today is friday!” 我想搜索这个字符串,抓住所有句子,说“今天是星期五!”,然后用我刚发现的句子创建一个新的字符串。 上述字符串的预期结果是: string output = “Today is friday!Today is friday!Today is friday!” 编辑:LINQ不是强制性的。 谢谢!

如何在不使用C#中的indexof方法的情况下从字符串中查找子字符串?

我想在不使用任何字符串方法(包括indexof)的情况下找到字符串中子字符串的位置。 我尝试了很多次却失败了。 有人会告诉我怎么做C#? 我们可以使用.Length运算符。

在字符串列表中查找子字符串

我有一个这样的列表,我希望能够在此列表中搜索来自另一个字符串的子字符串。 例: List list = new List(); string srch = “There”; list.Add(“1234 – Hello”); list.Add(“4234 – There”); list.Add(“2342 – World”); 我想在我的列表中搜索”There”并返回”4234 – There” 。 我试过了: var mySearch = list.FindAll(S => s.substring(srch)); foreach(var temp in mySearch) { string result = temp; }

C# – 子字符串:索引和长度必须引用字符串中的位置

我有一个看起来像的字符串 string url = “www.example.com/aaa/bbb.jpg”; “www.example.com/”长度固定为18。 我想从这个字符串中获取“aaa / bbb”部分(实际的url不是示例,也不是aaa / bbb,长度可能会有所不同) 所以这就是我的所作所为: string newString = url.Substring(18, url.Length – 4); 然后我得到了exception:索引和长度必须引用字符串中的位置。 我的代码有什么问题以及如何修复它? 提前致谢。

屏蔽除字符串的前6位和后4位以外的所有数字(长度各不相同)

我有一个卡号作为字符串,例如: string ClsCommon.str_CardNumbe r = “3456123434561234”; 此卡号的长度可以在16到19位之间变化,具体取决于要求。 我的要求是我必须显示卡号的前六位和后四位,并用字符“X”掩盖其中的其他字符。 我尝试过使用subString并分别为16,17,18,19位数实现它。 我将字符串(ClsCommon.str_CardNumber)拆分为5个字符串(str_cardNum1,str_cardNum2,str_cardNum3,str_cardNum4,str_cardNum5 – 每个字符串4位数。第5个字符串的剩余数字) 所有字符串都放在ClsCommon文件中。 基于此我实现了以下,它完美地工作: if (ClsCommon.str_CardNumber.Length == 16) { txtmskcrdnum.Text = string.Concat(ClsCommon.str_cardNum1, ” “, ClsCommon.str_cardNum2.Substring(0, 2), “XX”, ” “, “XXXX”, ” “, ClsCommon.str_cardNum4); } if (ClsCommon.str_CardNumber.Length == 17) { txtmskcrdnum.Text = string.Concat(ClsCommon.str_cardNum1, ” “, ClsCommon.str_cardNum2.Substring(0, 2), “XX”, ” “, “XXXX”, ” “, “X”, ClsCommon.str_cardNum4.Substring(1, 3), […]

在.Net中获取子字符串时,新字符串是否引用相同的原始字符串数据或数据是否被复制?

假设我有以下字符串: string str1 = “Hello World!”; string str2 = str1.SubString(6, 5); // “World” 我希望在上面的例子中str2不会复制“World”,但只是最终成为一个新的字符串,它指向相同的内存空间,只是它以6的偏移量和5的长度开始。 实际上我正在处理一些可能非常长的字符串,并且由于性能原因我对它在幕后的工作方式感兴趣。 我不熟悉IL调查此事。

在字符串中查找两个值之间的单词

我有一个txt文件作为字符串,我需要找到两个字符之间的单词和Ltrim / Rtrim其他一切。 它可能必须是有条件的,因为两个字符可能会根据字符串而改变。 例: car= (data between here I want) ; car = (data between here I want) 码: int pos = st.LastIndexOf(“car=”, StringComparison.OrdinalIgnoreCase); if (pos >= 0) { server = st.Substring(0, pos);………….. }

RavenDB快速子字符串搜索

我可能有数万亿个字符串序列。 我正在寻找快速子字符串搜索。 我创建了一个索引。 当我试图获得一些结果( x => x.StartWith )时,在300万个对象数据库上花费大约2秒。 5亿个物体需要多长时间? 是否可以更快地进行RavenDB搜索? store.DatabaseCommands.PutIndex(“KeyPhraseInfoByWord”, new Raven.Client.Indexes.IndexDefinitionBuilder { Map = wordStats => from keyPhraseInfo in keyPhraseInfoCollection select new { keyPhraseInfo.Key }, Analyzers = { { x => x.Key, “SimpleAnalyzer”} } });