gpt4 book ai didi

C# 通过忽略转义序列和特殊字符来比较子字符串

转载 作者:行者123 更新时间:2023-11-30 20:43:17 24 4
gpt4 key购买 nike

String str = "Hello!I'm new here and this is my first question."

String str2 = "Hello Im new here."

// here i want to get index by ignoring special characters
int startIndex = str1.IndexOf(str2);

如果你能帮助我,我将不胜感激。几天来我一直在研究代码和谷歌,但都是徒劳的。

最佳答案

我认为你想要的可以通过正则表达式使用模式来实现

"\\W+"

匹配任何非单词字符(任何不是 [a-zA-Z0-9] 的字符)。

使用此模式,您可以对两个字符串进行临时替换,然后执行 IndexOf()。像这样的东西:

using System;
using System.Text.RegularExpressions;

public class Program
{
public static void Main()
{
string str = "Hello!I'm new here and this is my first question.";
string str2 = "Hello Im new here.";

string tempStr = Regex.Replace(str, "\\W+", "");
string tempStr2 = Regex.Replace(str2, "\\W+", "");

int startIndex = tempStr.IndexOf(tempStr2);
Console.WriteLine(tempStr);
Console.WriteLine(tempStr2);
Console.WriteLine("Index of str2 starts a {0} ", startIndex);
}
}

结果:

HelloImnewhereandthisismyfirstquestion
HelloImnewhere
Index of str2 starts a 0

在这里查看工作示例... https://dotnetfiddle.net/XIpcj0

关于C# 通过忽略转义序列和特殊字符来比较子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com