小编Roe*_*ler的帖子

Python正则表达式问题:剥离多行注释但保持换行符

我正在解析源代码文件,我想删除所有行注释(即以"//"开头)和多行注释(即/ .... /).但是,如果多行注释中至少有一个换行符(\n),我希望输出只有一个换行符.

例如,代码:

qwe /* 123
456 
789 */ asd
Run Code Online (Sandbox Code Playgroud)

应该完全变成:

qwe
asd
Run Code Online (Sandbox Code Playgroud)

而不是"qweasd"或:

qwe

asd
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?谢谢


编辑:测试的示例代码:

comments_test = "hello // comment\n"+\
                "line 2 /* a comment */\n"+\
                "line 3 /* a comment*/ /*comment*/\n"+\
                "line 4 /* a comment\n"+\
                "continuation of a comment*/ line 5\n"+\
                "/* comment */line 6\n"+\
                "line 7 /*********\n"+\
                "********************\n"+\
                "**************/\n"+\
                "line ?? /*********\n"+\
                "********************\n"+\
                "********************\n"+\
                "********************\n"+\
                "********************\n"+\
                "**************/\n"+\
                "line ??"
Run Code Online (Sandbox Code Playgroud)

预期成绩:

hello 
line 2 
line 3  
line 4
line 5
line 6
line 7 …
Run Code Online (Sandbox Code Playgroud)

python regex parsing comments

4
推荐指数
2
解决办法
6767
查看次数

ASP.NET MVC新手:无法让aspnet_regsql.exe工作

我刚刚安装了Web Developer Express 2008和MVC框架(遵循所有默认设置,在此过程中安装了SQL Server Express).我遵循了最初的NerdDinner步骤,从IDE创建了一个数据库并定义了表(工作正常).

为了进一步定义严重依赖于用户群的表,我必须弄清楚如何将用户表添加到我新创建的数据库中(这样我就可以创建带有用户表的外键的表),所以我"跳到"手册中的身份验证和授权部分,他们提到我需要从目录"C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727"运行"aspnet_regsql.exe".

我找到了该文件并运行它.

它要求提供服务器名称并有一些默认值(它是我的计算机名称的首字母).我不记得在安装Visual Web Developer期间明确提到任何这样的名称,我认为它是默认的.选择"Windows身份验证".我也可以选择"SQL服务器身份验证",但我不记得创建它所需的用户名和密码.

当我选择数据库时,单击"数据库"组合框的下拉列表,需要几秒钟,然后它会发出以下错误消息:

"无法从SQL服务器查询数据库名称列表.建立与SQL Server的连接时发生网络相关或实例特定错误.未找到服务器或无法访问服务器.验证实例名称是否正确SQL Server配置为允许远程连接.(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)"

我在网上研究了这个,并没有为我看似微不足道的问题找到一个简单的解决方案.

为了澄清,我不想要远程连接,而是本地连接.

在我继续使用regsql进程之前,是否需要执行本地SQL Server Express安装所需的步骤?

这是普通的香草,开箱即用安装......有什么想法吗?

sql-server sql-server-express

4
推荐指数
2
解决办法
6287
查看次数

枚举Outlook ContactItem属性

我试图使用以下代码枚举Microsoft.Office.Interop.Outlook.ContactItem对象的属性(让我们称之为ci):

        System.Reflection.BindingFlags bf = System.Reflection.BindingFlags.Default;

        foreach (System.Reflection.PropertyInfo pi in ci.GetType().GetProperties(bf))
        {
            Console.WriteLine("Property Info {0}", pi.Name);
        }
Run Code Online (Sandbox Code Playgroud)

我实际上尝试了几种BindingFlag值的组合,但是没有返回任何属性.

这就是ContactItem的定义方式:使用System.Runtime.InteropServices;

namespace Microsoft.Office.Interop.Outlook
{
    [Guid("00063021-0000-0000-C000-000000000046")]
    [CoClass(typeof(ContactItemClass))]
    public interface ContactItem : _ContactItem, ItemEvents_10_Event
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是_ContactItem的定义方式(为简单起见,我只保留了3个道具):

using System;
using System.Runtime.InteropServices;

namespace Microsoft.Office.Interop.Outlook
{
    [TypeLibType(4160)]
    [Guid("00063021-0000-0000-C000-000000000046")]
    public interface _ContactItem
    {
       [DispId(14848)]
       string Account { get; set; }
       [DispId(63511)]
       Actions Actions { get; }
       [DispId(14913)]
       DateTime Anniversary { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能帮帮我吗?

提前致谢

短发

c# reflection outlook enumeration contactitem

3
推荐指数
1
解决办法
3878
查看次数

C#newbie:将重复的XML读取到内存中

我是C#的新手.我正在构建一个应用程序,该应用程序使用元素列表来保存XML文件.我的XML文件的结构如下:

<Elements>
    <Element>
        <Name>Value</Name>
        <Type>Value</Type>
        <Color>Value</Color>
    </Element>
    <Element>
        <Name>Value</Name>
        <Type>Value</Type>
        <Color>Value</Color>
    </Element>
    <Element>
        <Name>Value</Name>
        <Type>Value</Type>
        <Color>Value</Color>
    </Element>
</Elements>
Run Code Online (Sandbox Code Playgroud)

我有<100个这样的项目,这是一个单一的列表(所以我认为数据库解决方案有点矫枉过正,甚至是SQLite).当我的应用程序加载时,我想将这个元素列表读取到内存中.目前,在浏览网页后,我正在使用XmlTextReader.

然而,也许我正在以错误的方式使用它,我逐个标记地读取数据,因此期望标签处于特定顺序(否则代码将变得混乱).我想要做的是阅读完整的"元素"结构并按名称从中提取标签.我确信这是可能的,但是怎么样?

为了澄清,主要区别在于我今天使用XmlTextReader的方式,它不能容忍诸如标签错误顺序之类的场景(例如Type在某个Element中的Name之前).

在C#中将此类结构加载到内存中的最佳实践是什么?

c# xml

2
推荐指数
2
解决办法
606
查看次数

在Python列表中查找"最接近"的字符串(按字母顺序)

我有一个Python字符串列表,例如初始化如下:

l = ['aardvark', 'cat', 'dog', 'fish', 'tiger', 'zebra']
Run Code Online (Sandbox Code Playgroud)

我想测试一个输入字符串对这个列表,并找到"它下面最近的字符串"和"它上面最近的字符串",按字母顺序和不区分大小写(即没有语音,只是a<b等).如果输入存在于列表中,则"下方"和"上方"都应返回输入.

几个例子:

Input  | Below    |  Above   
-------------------------------
bat    | aardvark | cat      
aaa    | None     | aardvark 
ferret | dog      | fish     
dog    | dog      | dog
Run Code Online (Sandbox Code Playgroud)

在Python中实现这一目标的最佳方法是什么?(目前我正在使用for循环遍历排序列表)

进一步澄清:我对简单的字典字母比较感兴趣,而不是像Levenshtein或语音学那样的任何想法.

谢谢

python string

2
推荐指数
1
解决办法
1455
查看次数

如何在C#中以编程方式检查和切换Num-Lock?

我想以编程方式检查值,并能够切换num-lock.在C#中最简单的方法是什么?

原因是我想在程序启动时验证num-lock是否为"ON".

谢谢

c# num-lock

2
推荐指数
1
解决办法
5943
查看次数

ASP.NET MVC的文本修订比较StackOverflow样式?

我想展示文本的修订版,我喜欢StackOverflow的工作方式(例如见下文).是否有一个开源.NET代码可以接收两个文本并输出这样的结果?如果您知道付费解决方案也可能相关,谢谢.

在此输入图像描述

asp.net-mvc text-comparison

2
推荐指数
1
解决办法
243
查看次数

数字比较 - Python Bug?

在我的代码内部深处,如果嵌套在一个类方法内部嵌套,我将某个索引值与某个列表的长度进行比较,以验证我可以访问该索引.代码看起来像这样:

if t.index_value < len(work_list):
    ... do stuff ...
else:
    ... print some error ...
Run Code Online (Sandbox Code Playgroud)

为了澄清,index_value至少为零(在其他地方验证).令我惊讶的是,即使我知道index_value数据有效,代码也会继续使用"else:"子句.我添加了一些特殊的调试代码:

print('Checking whether '+str(t.index_value)+"<"+str(len(work_list)))

x = t.index_value
y = len(work_list)

print(x)
print(y)
print(x<y)

if t.index_value < len(work_list):
    ... do stuff ...
else:
    ... print some error ...
Run Code Online (Sandbox Code Playgroud)

以下是输出:

>> Checking whether 3<4
>> 3
>> 4
>> False
Run Code Online (Sandbox Code Playgroud)

谁能帮我理解这里发生了什么?

进一步澄清:

  • work_list是在方法中实例化的局部变量
  • t是一个类实例,在method(t = SomeClass())中实例化

更新:问题是t.index_valueUNICODE 的类型而不是int.原因是我从文本文件中反序列化了t的内容,其中index_value的值由单个数字字符表示.在我从文本中提取它之后,我立即将它分配给它index_value,而不是通过int()传递它,我应该做什么,这解决了问题.

我决定保留"有争议的"头衔,尽管它显然是我的错误,而不是Python的,因为有相同问题的人可能会发现它使用这个标题.

python numbers

1
推荐指数
1
解决办法
608
查看次数

Python新手:在Python中返回多个Int/String结果

我有一个函数有几个输出,所有输出都是"本机",即整数和字符串.例如,假设我有一个分析字符串的函数,并找到单词的数量和单词的平均长度.

在C/C++中,我会使用@将2个参数传递给函数.在Python中我不确定什么是正确的解决方案,因为整数和字符串不是通过引用传递而是通过值传递(至少这是我从试错中理解的),因此以下代码将不起作用:

def analyze(string, number_of_words, average_length):

    ... do some analysis ...

    number_of_words = ...    
    average_length = ...
Run Code Online (Sandbox Code Playgroud)

如果我执行上述操作,则函数范围之外的值不会更改.我目前所做的是使用这样的字典:

def analyze(string, result):

    ... do some analysis ...

    result['number_of_words'] = ...    
    result['average_length'] = ...
Run Code Online (Sandbox Code Playgroud)

我使用这样的功能:

s = "hello goodbye"
result = {}
analyze(s, result)
Run Code Online (Sandbox Code Playgroud)

但是,这感觉不对.什么是正确的Python方法来实现这一目标?请注意我只是指函数返回2-3个结果而不是数十个结果的情况.另外,我是Python的新手,所以我知道我可能会遗漏一些微不足道的东西......

谢谢

python parameters reference

1
推荐指数
1
解决办法
4976
查看次数

用WPF为超长期项目选择C#?

我参与了一个项目,一个开发团队正在建立一个非常长期的基础设施项目,以取代现有的10年历史的系统."非常长期",我的意思是它必须从发布的角度开始运营,支持和维护至少10年.考虑到〜2年的发展,这意味着我们应该在这一点上选择一个技术/语言/框架至少持续12年.我们可以完全控制运行项目的计算机,它们的操作系统等.我是要被替换的10岁系统的开发者,我正在帮助团队建立新的系统.

该应用程序具有非常复杂的用户界面.UI在启动时从配置文件动态构建,每个UI组件都依赖于逻辑和其他UI组件,它必须在运行时接收.UI元素本身非常复杂,想象自定义仪表,图形,旋钮等.

项目中已经有两个选择,我不会判断或尝试改变:

  1. 它将是一个桌面应用程序
  2. 它将在C#中开发

现在我们正在选择正确的框架,使我们非常灵活的UI系统"易于开发",即依靠已调试的已经制作的框架来减少开发人员错误的数量.

该团队检查了微软的CAB(复合用户界面),这非常适合其目的,但微软在2007年停止使用它是一个很大的问题,考虑到项目的长期方面(想想6中发现的框架错误) - 谁会提供支持? - 我知道我们可以在CAB中修复代码,但这是我们想要避免的事情.

显而易见的一件事就是依赖微软的WPF.它似乎是UI开发的"未来",但是在长期思考它时会让我感到害怕.我主要担心的是市场不会接受它,3年后微软将停止使用它,而从现在开始的6年内,我将无法获得适当的支持.

但是,除了编写自己的框架之外,我并没有真正看到替代方案.我不想不尊重任何第三方框架开发人员,但对于这样一个长期项目,我只能使用来自非常成熟的供应商的产品/框架/等.

鉴于上述背景(如果不是),对于使用C#这样的长期桌面应用程序项目,选择WPF是否是正确的调用我会很感激.).

谢谢(抱歉这个长问题)

c# wpf

1
推荐指数
2
解决办法
726
查看次数

简单的非花哨的Windows应用程序 - 我应该从WPF还是WinForms开始?

我即将开始使用Microsoft Visual C#2008(Express版)开发一个小型Windows应用程序.我是C#和.NET的新手,所以这是一个新手问题.我应该从WPF开始还是应该坚持使用旧的WinForms?

我的应用程序有几个屏幕,都有几个文本框,复选框,组合框,而不是更多.应用程序将从多个COM对象检索数据,并通过标准TCP/IP套接字进行通信,这两个套接字都与UI无关.

用户界面并不是任何花哨的东西(我不需要它).然而,世界似乎正在​​转向WPF.为我的案例选择WPF而不是WinForms有什么考虑?推荐的方法是什么?

谢谢

c# wpf winforms

1
推荐指数
1
解决办法
993
查看次数

奇怪的Matlab错误:"???下标索引必须是真正的正整数或逻辑"

我有一个func返回向量的函数a.我通常绘制一个然后对其进行进一步分析.我有一个特定情况,一旦我尝试绘制一个,我得到一个" ??? Subscript indices must either be real positive integers or logicals"错误.看一下下面的代码片段来看看vector的行为:

K>> a

a =
    5.7047    6.3529    6.4826    5.5750    4.1488    5.8343    5.3157    5.4454    

K>> plot(a)
??? Subscript indices must either be real positive integers or logicals.

K>> for i=1:length(a); b(i) = a(i); end;
K>> b

b =
    5.7047    6.3529    6.4826    5.5750    4.1488    5.8343    5.3157    5.4454    

K>> plot(b)
??? Subscript indices must either be real positive integers or logicals.
Run Code Online (Sandbox Code Playgroud)

发生这种情况的情况是当我func从另一个函数中调用函数(调用它outer_func),并直接返回结果作为outer_func …

matlab plot

1
推荐指数
1
解决办法
7377
查看次数

如何使用c#代码检查sql server中是否有表?

我喜欢编写c#代码,我想通过它来检查sqlserver中是否有表?

任何人都可以给我一个示例代码吗?

c# sql-server

0
推荐指数
1
解决办法
985
查看次数