这是我的代码:
@Bean public RequestContextListener requestContextListener(){
return new RequestContextListener();
}
描述只是字符串。 如何检查关键字的先前字符是否为空格,然后执行其他操作。例如,如果描述是:
string keyword = "bil"
if(description.Contains(keyword))
{
do something...
}
此代码为真:
description = "gobil bla bla"
但是前面的字母是o“gobil”而不是空格。一种解决方案是使用foreach char循环,但描述是一个很长的字符串,会破坏我的应用程序性能。
答案 0 :(得分:1)
怎么样:
if(description.StartsWith(keyword) || description.Contains(" "+keyword))
答案 1 :(得分:1)
创建一个与单词边界匹配的正则表达式,然后是关键字,后跟另一个单词边界:
if(new Regex(@"\b" + keyword + @"\b").IsMatch(description))
{
//
}
答案 2 :(得分:0)
循环通过字符串并查找每次出现的关键字。对于每次出现,检查出现是否在字符串的开头或前一个字符是空格:
bool Contains(string description, string keyword)
{
int index = 0;
while (true)
{
index = description.IndexOf(keyword, index);
if (index == -1) // Not in string.
{
return false;
}
if (index == 0) // Start of string.
{
return true;
}
if (char.IsWhiteSpace(description[index - 1])) // Is previous index whitespace?
{
return true;
}
index = index + 1;
}
}