我知道那里有很多这样的问题.但我真的找不到任何解决我问题的方法.
我想检查字符串是否包含特定的输入数字.请参阅以下示例:
public Boolean checkString()
{
string input = "2.5.8.12.30";
string intToFind = "3";
if (input.contains(intToFind))
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这返回true但我希望它返回false,因为intToFind字符串是3而不是30.所以它是contains()就是问题.
如何让它仅搜索3?
我想在字符串中获取第一个数字实例.
所以我得到了这个输入字符串,可能是以下之一:
1: "Event: 1 - Some event"
2: "Event 12 -"
3: "Event: 123"
4: "Event: 12 - Some event 3"
Run Code Online (Sandbox Code Playgroud)
输入字符串的输出必须是:
1: 1
2: 12
3: 123
4: 12
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但没有一个能给我我想要的东西.
number = new String(input.ToCharArray().Where(c => Char.IsDigit(c)).ToArray());
//This gives me all the numbers in the string
var index = input.IndexOfAny("0123456789".ToCharArray());
string substring = input.Substring(index, 4);
number = new string(substring.TakeWhile(char.IsDigit).ToArray());
//This gives me first number and then the numbers in the next 4 characters. However it breaks if there is …Run Code Online (Sandbox Code Playgroud) 我的程序中有2个线程.1是处理GUI而另一个是进行一些文字自动化.让我们称他们为GUIThread和WorkerThread.
WorkerThread使用递归循环遍历方法.在执行自动化一词时,WorkerThread只能处于活动状态,用户必须能够停止自动化一词.因此,我在GUI上实现了一个"停止"按钮,它只是杀死/终止WorkerThread.但是,如果我在方法中间杀死WorkerThread,它有时会导致我的word文档出现问题(这是一个较长的故事),这就是为什么我要在检查之前检查WorkerThread是否已从方法完成/返回它.
当我点击"停止"按钮时,这就是我的代码所做的事情:
//Stops the worker thread = stops word automation in process
workerThread.Abort();
//This blocks the thread until the workerThread has aborted
while (workerThread.IsAlive) ;
Run Code Online (Sandbox Code Playgroud)
我自己对这个问题的建议/解决方法是有一个全局变量,我可以在每次输入WorkerThread时设置并留下一个方法,但这对我来说似乎不对.我的意思是我认为必须有一种更简单的方法来处理它.
在ms word2010中,我有一个带有书签名称的书签:nameOfBookmark
现在,书签内容可以是任何东西,从文本到混合的图片,表格以及您可以想到放入word文档的任何内容.
问题如下:我的书签中包含了一些我要删除的内容.但是,每次我尝试删除内容时,它也会删除我想要保留的书签.
我试过这个,只是删除了整个事情:
public void cleanBookmark(string bookmark)
{
var start = currentDocument.Bookmarks[nameOfBookmark].Start;
var end = currentDocument.Bookmarks[nameOfBookmark].End;
Word.Range range = currentDocument.Range(start, end);
range.Delete();
}
Run Code Online (Sandbox Code Playgroud)
我也尝试将范围设置为:
Word.Range range = currentDocument.Range(start +1, end -1);
Run Code Online (Sandbox Code Playgroud)
但后来我最终得到了一个书签,其中仍然包含我想要删除的内容的第一个和最后一个字符.