有人可以提供正则表达式来解析字符串中的名称/值对吗?这些对用逗号分隔,值可以用引号括起来.例如:
AssemblyName=foo.dll,ClassName="SomeClass",Parameters="Some,Parameters"
Run Code Online (Sandbox Code Playgroud) 我有一个充满记录的文本文件,其中每个记录中的每个字段都是固定宽度.我的第一种方法是使用string.Substring()解析每条记录.有没有更好的办法?
例如,格式可以描述为:
<Field1(8)><Field2(16)><Field3(12)>
Run Code Online (Sandbox Code Playgroud)
并且具有两个记录的示例文件可能如下所示:
SomeData0000000000123456SomeMoreData
Data2 0000000000555555MoreData
Run Code Online (Sandbox Code Playgroud)
我只是想确保我没有忽略比Substring()更优雅的方式.
更新: 我最终选择了Killersponge建议的正则表达式:
private readonly Regex reLot = new Regex(REGEX_LOT, RegexOptions.Compiled);
const string REGEX_LOT = "^(?<Field1>.{6})" +
"(?<Field2>.{16})" +
"(?<Field3>.{12})";
Run Code Online (Sandbox Code Playgroud)
然后我使用以下内容访问字段:
Match match = reLot.Match(record);
string field1 = match.Groups["Field1"].Value;
Run Code Online (Sandbox Code Playgroud) 我有一个菜单,其中包含一些最近使用的文件路径.这些文件的路径可能很长,因此文本有时会被剪切为"C:\ Progra ...\foo.txt"
当用户将鼠标悬停在项目上时,我想用完整路径弹出工具提示,但这似乎不适用于.NET 2.0中的Tooltip类.
我错过了一些明显的东西吗
我正在使用以下正则表达式捕获固定宽度的"描述"字段,该字段总是50个字符长:
(?.{50})
Run Code Online (Sandbox Code Playgroud)
我的问题是描述有时包含很多空格,例如
"FLUID COMPRESSOR "
Run Code Online (Sandbox Code Playgroud)
有人可以提供一个正则表达式:
我试图围绕UIViews和UIViewControllers的角色.如果我以编程方式创建和插入子视图,通常是从视图还是控制器执行此操作?
我真的只是想知道是否有一个约定/模式.在我的示例应用程序中,我在运行时加载了50个图像,将它们作为子视图添加到主视图中,然后让用户将它们拖动到屏幕上.我目前正在视图的initWithCoder中进行所有初始化:
- (id)initWithCoder:(NSCoder*)coder
{
if (self = [super initWithCoder:coder]) {
// load UIImageViews and add them to the subview
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
该视图还实现了touchesBegan/touchesMoved以允许拖动.当我尝试在initWithCoder中访问[self frame] .size时出现问题,它似乎尚未初始化.这让我觉得我可能会把图片加载到错误的地方......
我有一个定期更新其数据库架构的程序.有时,其中一个DDL语句可能会失败,如果有,我想回滚所有更改.我在这样的事务中包装更新:
BEGIN TRAN;
CREATE TABLE A (PKey int NOT NULL IDENTITY, NewFieldKey int NULL, CONSTRAINT PK_A PRIMARY KEY (PKey));
CREATE INDEX A_2 ON A (NewFieldKey);
CREATE TABLE B (PKey int NOT NULL IDENTITY, CONSTRAINT PK_B PRIMARY KEY (PKey));
ALTER TABLE A ADD CONSTRAINT FK_B_A FOREIGN KEY (NewFieldKey) REFERENCES B (PKey);
COMMIT TRAN;
Run Code Online (Sandbox Code Playgroud)
当我们正在执行时,如果其中一个语句失败,我会执行ROLLBACK而不是COMMIT.这在SQL Server上运行良好,但对Oracle没有预期的效果.Oracle似乎在每个DDL语句之后执行隐式COMMIT:
有没有办法关闭这个隐式提交?
当我初始化对话框时,我想选择表单上的一个单选按钮.我没有看到使用类向导关联Control变量的方法,就像你通常使用CButtons,CComboBoxes等一样...
此外,它不喜欢CRadioButton类甚至存在.
如何选择几个单选按钮中的一个?
.net ×2
parsing ×2
regex ×2
c# ×1
cocoa-touch ×1
ddl ×1
fixed-width ×1
iphone ×1
mfc ×1
oracle ×1
transactions ×1
winapi ×1
winforms ×1