小编Ben*_*Ben的帖子

Microsoft Excel中的正则表达式子串替换

我想用国际版"447"批量替换字符串列表(移动电话号码)的"07"部分.

字符串列表当前在Excel电子表格中形成一个列.

我有正则表达式来匹配需要修改的字符串:

^07[0-9]{9}$
Run Code Online (Sandbox Code Playgroud)

...但我不知道如何进行我需要的替换.

数据位于Excel电子表格中,但当然可以导出.

首选解决方案是将数据保存在Microsoft Excel中,但它当然可以导出然后重新导入.我知道TextMate有一个正则表达式替换功能.这可以帮到我吗?

regex excel

7
推荐指数
3
解决办法
5万
查看次数

C#中Int32的扩展方法

我设想能够编写流畅的代码,为代码库中的数字增加意义.假设您想要一个数字来表示以英里为单位的距离.你有类似的东西:

用法:

var result = myMethod(100.Miles());
Run Code Online (Sandbox Code Playgroud)

我认为这比简单传递int更具可读性,而且你可以将边界检查应用于Miles类型.

扩展方法和结构实现:

static class IntExtensions
{
  public static Miles(this int i) { get { return new Miles { Count = i }; } }
}

public struct Miles
{ 
  public int Count { get; private set; } //optionally perform bounds checking
} 
Run Code Online (Sandbox Code Playgroud)

这样的想法是否有用,或者在炎热的星期五为时已晚?

编辑:是的,没有扩展属性看起来不那么整洁......对于匆忙的无效代码抱歉.这只是一个想法.

.net c# extension-methods struct

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

Lambda变量范围

例:

myObject.Stub(s => s.MyMethod(null)).IgnoreArguments().Return("bleh");

var s = "s";
Run Code Online (Sandbox Code Playgroud)

变量"s"在lambda中定义,另一个变量"s"在同一方法中定义为局部变量.当我将鼠标悬停在第一个"s"上时,Visual Studio告诉我"下面定义了一个冲突的变量".为什么这些相互矛盾; lambda中的"s"肯定不在其封闭的支架之外?

c# lambda scoping

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

将局部变量声明为const

显然,将局部变量声明为const,可以防止运行时修改.Const实例变量是静态的(我相信).这是否与const局部变量的性质和用途有关?(例如穿线)

c# const

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

用于将字符串限制为多个离散值的JavaScript习惯用法

在C#中,我可能会使用枚举.

在JavaScript中,如何将值限制为一组离散值?

javascript enumeration

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

C# - 使用XML水合现有对象

我知道我可以使用Linq将字段从XML映射到预先存在的对象中的字段..NET Framework(或其他库)中是否有任何函数可以减少手动操作.

我想写(并让HydrateFromXml表现得像AutoMapper一样):

var myObject = new MyObject(/*ctor args*/);

myObject = myObject.HydrateFromXml(string xml);
Run Code Online (Sandbox Code Playgroud)

编辑:

我可以在这里使用装饰器模式或简单的包装器对象吗?直接反序列化为一个由抽象包装的类型,允许我需要的细粒度构造控制?

c# xml

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

基于承诺的功能的记忆

如何记忆基于承诺的功能?

直截了当的功能记忆就够了吗?

function foo() {
    return new Promise((resolve, reject) => {
      doSomethingAsync({ success: resolve, fail: reject });
    });
};
Run Code Online (Sandbox Code Playgroud)

这样就够了吗?

var fooMemoized = memoize(foo);
Run Code Online (Sandbox Code Playgroud)

注意:此问题已更新,以删除延迟反模式.

javascript memoization promise

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

将文件从目录拉入NPM的根文件夹

我正在向NPM出版一个图书馆.

当我构建库时,生成的工件将放置在dist项目根目录中的文件夹中index.js.

当用户从NPM安装时,我希望index.js出现在其文件夹中创建的文件夹的node_modules目录中.目前,它仍保留在一个名为的目录中dist.

我怎样才能做到这一点?

我的packages.json:

{
  "name": "my-package",
  "version": "0.0.9",
  "files": ["dist/*"],
  "main": "index.min.js",
  "private": false,
  "dependencies": {},
  "devDependencies": {},
  "repository": "git@github.com:username/my-package.git"
}
Run Code Online (Sandbox Code Playgroud)

npm

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

ESnext中的属性初始化器语法

我了解到TC-39建议使用JavaScript classes中的新语法,称为“属性初始化器语法” 。

我还没有找到很多关于它的文档,但是在讨论React时,它被用在了一个蛋头课程中。

class Foo {
  bar = () => {
    return this;
  }
}
Run Code Online (Sandbox Code Playgroud)

这项提议的目的是什么?它与以下内容有何不同:

class Foo {
  bar() {
    return this;
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-next

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

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