在正则表达式方面我很缺乏经验.我想要做的是遍历一个字符串列表,并尝试找到具有某种模式的字符串.我感兴趣的字符串将采用"some text ***{some text}***"
如何编写RegEx以匹配的形式?我在尝试这个:
Regex expression = new Regex("***");
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误. parsing "***" - Quantifier {x,y} following nothing.
有人能指出我正确的方向吗?
我正在尝试遍历选择列表选项并将css类添加到相关的选项中.
Regex expression = new Regex("***");
foreach (ListItem li in listItemCollection)
{
if (expression.IsMatch(li.Value))
li.Attributes.Add("class", "highlight1");
}
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用.
任何帮助表示赞赏,〜在圣地亚哥
我有几百行代码,如下所示:
if (c.SomeValue == null || c.SomeProperty.Status != 'Y')
{
btnRecordCall.Enabled = false;
}
if (c.SomeValue == null || (c.SomeProperty.Status != 'Y' &&
c.SomeOtherPropertyAction != 'Y'))
{
btnAddAction.Enabled = false;
}
if (c.SomeValue == null || c.SomeProperty.Processing != 'Y')
{
btnProcesss.Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能正确地重构这个?我看到每次调用检查'c.SomeValue == null',但它包含在其他条件中.我怎么可能消除这个重复的代码?
我对Powershell很新.我有两个不同的脚本,我正在运行,我想组合成一个脚本.
脚本1有1行
Stop-Process -ProcessName alcore.* -force
Run Code Online (Sandbox Code Playgroud)
它的目的是结束任何以"alcore"开头的过程.
脚本2也有1行
Start-Service -displayname crk*
Run Code Online (Sandbox Code Playgroud)
它启动任何以crk开头的服务.
如何将这些组合成一个脚本?如果进程正在运行,我希望阻止它们,如果没有,我希望启动服务.我怎么能做到这一点?
我正在尝试这个,但它不起作用
$services = Get-Process alcore.*
if($services.Count -qe 1){
Stop-Process -ProcessName alcore.* -force
} else {
Start-Service -displayname crk*
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能正确?我还应该将它们包装在函数中并调用函数吗?这似乎有点清洁.谢谢你的帮助.
干杯,
〜ck
以编程方式触发ASP.NET控件事件的正确方法是什么?我正在寻找重构一些代码,我看到代码后面的代码如下所示; 开发人员正在调用事件处理程序并使用params使其饱和.对于DropDownList
ddlAddress.SelectedIndex = 1;
ddlAddress_SelectedIndexChanged(null, new EventArgs());
Run Code Online (Sandbox Code Playgroud)
&对于RadioButtonList
rblAction.SelectedIndex = 0;
rblActionType_SelectedIndexChanged(null, new EventArgs());
Run Code Online (Sandbox Code Playgroud)
这是正常的编码练习吗?我该怎么办才能不破坏/破坏页面?任何想法或建议将不胜感激.
谢谢,〜在圣地亚哥
我目前在ascx控件中有一个下拉列表.我需要在同一页面上的另一个ascx后面的代码中"找到"它.它的值被用作ascx#2上ObjectDataSource的参数.我目前正在使用这段丑陋的代码.它有效,但我意识到如果改变命令或其他各种事情,它就不会是我所期待的.有没有人有任何建议我应该如何正确地这样做?
if(Page is ClaimBase)
{
var p = Page as ClaimBase;
var controls = p.Controls[0].Controls[3].Controls[2].Controls[7].Controls[0];
var ddl = controls.FindControl("ddCovCert") as DropDownList;
}
Run Code Online (Sandbox Code Playgroud)
谢谢,新年快乐!〜在圣地亚哥
我有一个快速的问题.如何在一个查询中选择我需要的两个值?目前我正在做这个,它工作正常,但显然会运行两个查询,当一个人应该这样做.我尝试了MAX(columnA)和GROUP BY ColumnB,但是返回了多行.我只想要返回一行.
DECLARE @biID bigint
, @dtThreshold DateTime
SELECT @biID = MAX(biID)
FROM tbPricingCalculationCount WITH (NOLOCK)
SELECT @dtThreshold = dtDateTime
FROM tbPricingCalculationCount WITH (NOLOCK)
WHERE biID = @biID
Run Code Online (Sandbox Code Playgroud)
我希望在一个查询中正确设置这两个变量.我怎样才能做到这一点?
谢谢,〜ck
我有一个字符串,我需要转换回日期.我可以调用.ToString("yyyyMMdd")并获取我想要的字符串.我的问题是如何将其转换回日期?我正在尝试类似下面的事情而没有运气.
DateTime d;
var formatInfo = new DateTimeFormatInfo {ShortDatePattern = "yyyyMMdd"};
if (DateTime.TryParse(details.DetectionTime.Date, formatInfo, DateTimeStyles.None, out d))
{
lit.Text = d.ToShortTimeString(); //would like 07/30/2010 as the text
}
Run Code Online (Sandbox Code Playgroud)
如果不明显,我以前从未使用过DateTimeFormatInfo.有人能指出我正确的方向.我知道我可能会使用子字符串并创建一个新的DateTime(y,m,d)等...我只是想知道因为c#解释.ToString()正确,如果它不能从相同的字符串派生日期它输出.
我有一个resx文件中的值,我想在我的剃刀视图中输出.当我这样尝试时,它会爆炸.
<li>
<a href="#">@ResourceFacade<Global>.GetString("MenuLabelSupport");</a>
</li>
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,它按预期工作.
@{
var menuLabelSupport = ResourceFacade<Global>.GetString("MenuLabelSupport");
}
<li>
<a href="#">@menuLabelSupport</a>
</li>
Run Code Online (Sandbox Code Playgroud)
我真的想使用第一个实现.也许我的语法不太正确?如果有人看到我正在做错事,请告诉我.非常感谢您的任何提示或建议.
早上好,
我正在尝试编写一个选择器,它将选择包含具有"cancelMenu"类的span元素的所有行.
这些要么比另一个好吗?或者有更好的方法来写它?
$("span.cancelMenu").closest("tr");
$("tr > span.cancelMenu");
Run Code Online (Sandbox Code Playgroud)
有什么想法或想法吗?我正在使用第一个并且它有效,但似乎我只针对一行.我真的想要所有的行.
谢谢,〜ck
我有一个简单的扩展方法,我想用它来添加项目数组.
public static T[] addElement<T>(this T[] array, T elementToAdd)
{
var list = new List<T>(array) { elementToAdd };
return list.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是当我使用它时,我必须将数组设置为等于返回值.我看到我正在返回一个数组.我可能希望这种方法无效,但我希望添加该项目.有没有人对我需要做什么有任何想法,让这项工作按照我想要的方式进行?
而不是someArray = someArray.addElement(item),我只想做someArray.addElement(item),然后someArray准备好了.我在这里错过了什么?
大家早上好,
我的视图中有一个javascript变量.我一直这样做......
var skinData = null;
Run Code Online (Sandbox Code Playgroud)
然后在document.ready ....
$.ajax({
type: 'POST',
url: 'theme/getskins',
data: {},
contentType: 'application/json; charset=utf-8',
success: function(data){
skinData = data;
}
});
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我在加载视图后执行此操作.我正在尝试在_ViewStart.cshtml中执行此操作
viewPage.ViewBag.SkinInfo = new JsonResult { Data = SkinManager.GetSkins() };
Run Code Online (Sandbox Code Playgroud)
如何获取此值并将其值输出到我的javascript变量.当我真的想在第一次旅行时将其推送到客户端时,我认为我不需要再做另一个请求.任何提示或建议当然值得赞赏.我该怎么做才能正确?我尝试了一些这方面的变化,但显然是行不通的.好像......
var skinData = @ViewBag.SkinInfo.Data;
Run Code Online (Sandbox Code Playgroud)
这只是输出命名空间.任何想法如何正确地做到这一点?
干杯,
〜在圣地亚哥
我是正则表达式的新手,我的表达似乎是向后或与我想要做的相反.我有一个字符串,在这种情况下是一个url,我基本上想用一个空字符串替换所有内容,包括最后一个正斜杠.目前我有
"http://www.sweet.com/member/other".replace(/[^/]+$/, "")
Run Code Online (Sandbox Code Playgroud)
这基本上与我想要的相反.获得我正在寻找的结果的正确表达是什么?在这种情况下,最终会得到一个字符串"other"?谢谢你的帮助
c# ×6
asp.net ×3
asp.net-mvc ×2
javascript ×2
regex ×2
arrays ×1
ascx ×1
cmdlets ×1
conditional ×1
datetime ×1
events ×1
findcontrol ×1
generics ×1
group-by ×1
jquery ×1
json ×1
max ×1
powershell ×1
razor ×1
refactoring ×1
replace ×1
scripting ×1
shell ×1
sql ×1
sql-server ×1
string ×1