可能重复:
在Vim中保留替代案例
是否可以在vim中进行搜索和替换以保留搜索词的大小写?这是我想念的一个有用的功能.
例如,类似于:
:s/[uU]ser/[pP]erson/ (obviously, this doesn't work)
Run Code Online (Sandbox Code Playgroud)
这样:
user->person
User->Person
Run Code Online (Sandbox Code Playgroud)
保留多个字符的另一个示例:
:s/[mM]y[uU]ser/[tT]his[pP]erson/g
Run Code Online (Sandbox Code Playgroud)
这样:
myuser->thisperson
myUser->thisPerson
MyUser->ThisPerson
Run Code Online (Sandbox Code Playgroud) 我正在开发一个并行构建工具,它可以构建各种类型的windows程序(在很多其他东西中).我们的工具的一部分让我们的用户更轻松的生活是EXE和DLL文件的自动依赖性扫描.这意味着,如果用户说他们想要运行"bob.exe",那么当"bob.exe"被分发到构建网络中的其他节点时,他们不必担心依赖性问题.这是因为我们扫描"bob.exe"找出它需要的DLL并随之发送它们.
总的来说这很有效,除非EXE以编程方式加载DLL.然后必须将依赖项硬编码到用户make文件中.我们最近开始遇到的一个问题是如何处理C#DLL/EXE.这些似乎包含DLL引用,它们不是PE格式的一部分.我假设引用在某种C#容器中,并且C#运行时只是在C#运行时启动时以编程方式加载它们.
谁能告诉我在二进制级别扫描这些引用的最佳方法是什么?我的构建工具是多平台的,因此我的PE扫描程序用Java编写.因此,我不能依赖任何.NET库.我的PE扫描程序已经可以解析PE文件中的所有部分,并且我习惯于解析包含C++应用程序的并排程序集信息的部分.我只需要一些关于在C#应用程序中做什么的指示......
我在listview itemtemplate中有一个文本框.我想在长度大于75个字符时将文本框的背景颜色更改为红色,并且我需要在用户键入时更新背景颜色.在WPF中实现这一目标的最佳方法是什么?
对于一个相对微不足道的问题,提出最优雅的JavaScript,Ruby或其他解决方案是一项挑战.
此问题是最长公共子字符串问题的更具体情况.我只需要在数组中找到最长的公共起始子字符串.这大大简化了问题.
例如,最长的子串[interspecies, interstelar, interstate]是"inters".但是,我不需要找到"ific" [specifics, terrific].
我已经通过快速编写JavaScript解决方案来解决这个问题,作为我关于类似shell的选项卡完成的答案的一部分(这里是测试页面).这是解决方案,略有调整:
function common_substring(data) {
var i, ch, memo, idx = 0
do {
memo = null
for (i=0; i < data.length; i++) {
ch = data[i].charAt(idx)
if (!ch) break
if (!memo) memo = ch
else if (ch != memo) break
}
} while (i == data.length && idx < data.length && ++idx)
return (data[0] || '').slice(0, idx)
}
Run Code Online (Sandbox Code Playgroud)
此代码在此Gist中提供,以及Ruby中的类似解决方案.您可以将gist克隆为git repo来试用它: …
我们希望使用ctxsys.context索引类型进行全文搜索.但我很惊讶,这种类型的索引不会自动更新.我们有300万份文件,每天更新/插入/删除约10万次.
您对同步和优化Oracle Text索引有何建议?
我正在尝试将使用LIKE关键字的搜索查询与通配符进行参数化.原来的sql有这样的动态sql:
"AND JOB_POSTCODE LIKE '" + isPostCode + "%' "
Run Code Online (Sandbox Code Playgroud)
所以我试过这个,但是我得到了一个FormatException:
"AND JOB_POSTCODE LIKE @postcode + '%' "
Run Code Online (Sandbox Code Playgroud)
编辑:我想FormatException不会来自Sql Server CE,所以根据要求,这是我在C#代码中设置参数的方法.该参数在代码中设置如下:
command.Parameters.Add("@postcode", SqlDbType.NVarChar).Value = isPostCode;
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
"AND JOB_POSTCODE LIKE @postcode"
Run Code Online (Sandbox Code Playgroud)
同
command.Parameters.Add("@postcode", SqlDbType.NVarChar).Value = isPostCode + "%";
Run Code Online (Sandbox Code Playgroud)
但这不会返回任何结果.谁能建议如何在这个搜索sql中使用参数?
我正在尝试编写一个使用RTSP播放流式音频的简单媒体播放器.我有一个GUI活动和一个执行播放的服务.我的问题是如何在活动和服务之间进行最佳沟通(例如,根据玩家状态更新gui).
我知道我可以使用onBind()将服务绑定到活动,但如果我理解正确,如果活动被终止,这将停止服务.即使用户退出活动,我也想继续播放.有没有任何标准或首选的方法来处理这个问题?
我有一个看起来像的字符串,codes=”A,B,C”我从word文档解析后得到它.
在运行时我只想用空字符串替换这些双引号.
我试过做类似的事情str.Replace("\"", "").但以上双引号没有被取代:(
作为codes=”A,B,C”似乎有一些不同的期待双引号,不知道这是造成问题的原因.
请指导我如何从上面的字符串替换这些双引号.
谢谢!
我正在编写一个物理引擎/模拟器,它结合了3D太空飞行,行星/恒星引力,船舶推力和相对论效应.到目前为止,它的进展非常顺利,但是,我需要帮助的一件事是碰撞检测算法的数学计算.
我正在使用的运动的迭代模拟基本如下:
(注意:3D矢量是全部大写.)
For each obj
obj.ACC = Sum(all acceleration influences)
obj.POS = obj.POS + (obj.VEL * dT) + (obj.ACC * dT^2)/2 (*EQ.2*)
obj.VEL = obj.VEL + (obj.ACC * dT)
Next
Run Code Online (Sandbox Code Playgroud)
哪里:
obj.ACC is the acceleration vector of the object
obj.POS is the position or location vector of the object
obj.VEL is the velocity vector of the object
obj.Radius is the radius (scalar) of the object
dT is the time delta or increment
Run Code Online (Sandbox Code Playgroud)
我基本上需要做的是找到一个有效的公式,从上面的(EQ.2)派生出两个对象(obj1,obj2),并告诉他们是否碰撞,如果碰到,在什么时候.我需要确切的时间,以便我可以确定它是否在这个特定的时间增量(因为加速器在不同的时间增量会有所不同),并且还可以找到确切的位置(我知道该怎么做,给定时间)
对于这个引擎,我将所有对象建模为球体,所有这些公式/ algortithim需要做的是弄清楚在哪些点:
(obj1.POS - …Run Code Online (Sandbox Code Playgroud) 我的一位同事想出了这个,我想知道别人怎么想?就个人而言,我觉得它很有趣,但想知道它是否太大了?代码示例如下.底部的扩展方法.
请一般的想法.可以添加的其他扩展方法?
var ddl = Page.FindControl("LocationDropDownList") as DropDownList;
ddl.Visible = true;
ddl.SelectedValue = "123";
if(isAdmin)
ddl .SelectedValue = "111";
Run Code Online (Sandbox Code Playgroud)
变为:
Page.FindControl("LocationDropDownList")
.CastAs<DropDownList>()
.With(d => d.Visible = true)
.With(d => d.SelectedValue = "123")
.WithIf(isAdmin, d => d.Items.Add(new ListItem("Admin", "1")));
Run Code Online (Sandbox Code Playgroud)
要么:
Page.FindControl("LocationDropDownList")
.CastAs<DropDownList>()
.With(d =>
{
d.Visible = true;
d.SelectedValue = "123";
})
.WithIf(isAdmin, d => d.SelectedValue = "111");
Run Code Online (Sandbox Code Playgroud)
扩展方法:
public static TResult CastAs<TResult>(this object obj) where TResult : class
{
return obj as TResult;
}
public static T With<T>(this T t, …Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×1
3d ×1
android ×1
assemblies ×1
background ×1
colors ×1
dll ×1
haskell ×1
javascript ×1
math ×1
oracle ×1
oracle-text ×1
physics ×1
python ×1
regex ×1
ruby ×1
service ×1
simulation ×1
sql-server ×1
string ×1
textbox ×1
vim ×1
wpf ×1