小编Hai*_*Dog的帖子

批量字符转义

我非常擅长为Windows编写批处理脚本,但即便在这些年后如何正确地逃避字符让我感到困惑.在尝试找出正确的方法来逃避正则表达式以便与sed一起使用时,这一点尤其困难.有什么工具可以帮助我吗?也许某些东西允许我粘贴在"普通"字符串中并且它会吐出正确转义的字符串版本?

更新: 我不愿意举一个例子,因为我不是在寻找如何逃避一个特定字符串的答案.我也不是在寻找适合某个特定应用的解决方案.我正在寻找一种工具,它可以帮助我为每个我需要逃脱的字符串获取正确的转义语法,无论从命令行使用什么工具.

那就是我真正想要的正则表达式

(^.*)(Form Product=")([^"]*") FormType="[^"]*" FormID="([0-9][0-9]*)".*$
Run Code Online (Sandbox Code Playgroud)

采用真正的正则表达式(即就BATCH而言未转义)并将其包装成一些sed语法,例如ssed "s@ --- Insert escaped regex here --- @http://psph/\1/\2@g" "%~1"最后将其转义...再次,是否有任何工具可以帮助转义任何字符串以便在BATCH命令行上使用?

ps BATCH的逃避语法有很多例外,我甚至会选择一个好的备忘单.

windows scripting batch-file

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

有哪些工具可用于编辑联机帮助页,即GUI WYSIWYG编辑器(任何平台)

是否有任何体面的GUI(图形用户界面)WYSIWYG(所见即所得)编辑器(在任何平台上)可用于创作/编辑联机帮助页?可以导出为troff格式的应用程序也没问题.

unix editor manpage troff

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

golang linter 总是抱怨

问:如何解决ireturnnolintlintlinter 之间的这种疯狂问题?

细节:

我有一个带有此签名的 Golang 函数

func NewClientCredentialsTokenSource(
    issuer string,
    clientId string,
    clientSecret string,
    scope []string,
) (oauth2.TokenSource, error) {
Run Code Online (Sandbox Code Playgroud)

当我运行 golangci-lint v1.43.0 时,它报告

golangci-lint run
oidc/token_utils.go:19:1: NewClientCredentialsTokenSource returns interface (golang.org/x/oauth2.TokenSource) (ireturn)
func NewClientCredentialsTokenSource(
Run Code Online (Sandbox Code Playgroud)

由于该函数只有两个返回参数,因此很容易推断出它是在抱怨,oauth2.TokenSource而不是在抱怨error

by 调用的下游函数NewClientCredentialsTokenSource返回一个实例,oauth2.TokenSource因此我没有要返回的具体类型。没办法,只能返回oauth2.TokenSource接口了。

所以我向函数添加了一个 lint 异常,如下所示:

//nolint:ireturn
func NewClientCredentialsTokenSource(
    issuer string,
    clientId string,
    clientSecret string,
    scope []string,
) (oauth2.TokenSource, error) {
Run Code Online (Sandbox Code Playgroud)

您可能认为这应该可以解决问题,但事实并非如此!现在报告了一个新的 lint 问题:

golangci-lint run
oidc/token_utils.go:19:1: directive `//nolint:ireturn` is unused for …
Run Code Online (Sandbox Code Playgroud)

static-analysis go golangci-lint

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

从Obj-C中的字符串中提取数字

我是Objective-C的新手,但在其他更高级的语言方面经验丰富.我想通过删除所有非数字字符来规范化字符串.换句话说,给定输入字符串"206-555-1212",归一化结果应为"2065551212".下面的代码片段有效,但鉴于我在其他语言中的经验似乎有点矫枉过正.有没有更好的方法呢?

编辑:输入字符串"(206)555-1212","206.555.1212","206 555 1212"等也应返回相同的标准化结果.

NSString * normalize(NSString * number)
{
    NSString *normalizedNumber = @"";
    NSString *tmpString = nil;

    NSRange searchRange;
    NSRange resultRange;
    searchRange.location = 0;
    searchRange.length = number.length;

    while (0 < searchRange.length)
    {
        resultRange = [number rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]
                                        options:NSLiteralSearch
                                          range:searchRange];
        tmpString = [number substringWithRange:resultRange];
        normalizedNumber = [normalizedNumber stringByAppendingString:tmpString];
        searchRange.location = resultRange.location + resultRange.length;
        searchRange.length = number.length - searchRange.location;
    }

    return normalizedNumber;
}
Run Code Online (Sandbox Code Playgroud)

string objective-c normalization nsstring

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

正确的方法来裁剪SVG?

我完全被SVG图像困惑了.我想将图像裁剪为其核心内容.我想通过指定其视框和/或视口和/或其他任何东西来裁剪它除了我不想更改折线元素中的任何点.原样的图像呈现出这样的东西.(注意边框仅用于说明目的.边框实际上不是SVG的一部分.)

原版的

我想裁剪它看起来像这样.(再次注意边框仅用于说明目的)

裁剪

鉴于此SVG XML,我该如何裁剪它?

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" >
    <polyline points="39,340  42,338  47,333  54,322  68,308  83,292  91,277  100,259  106" style="fill:none;stroke:black;stroke-width:3"/>
    <polyline points="71,299  82,303  95,304  109,302  120,301" style="fill:none;stroke:black;stroke-width:3"/>
    <polyline points="212,275  228,254  233,233  240,208  239,246  188,278  174,306  158,334  149,351  144,358  140,362  139,362  139,340  179,313  186" style="fill:none;stroke:black;stroke-width:3"/>
    <polyline points="169,345  174,347  227,333  231,330  330,371  328,374  414,209  410,192  404,183  401,177  398,177  395,179   379,340  385,384  397,414" style="fill:none;stroke:black;stroke-width:3"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

svg crop

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

为 CoreData 生成的类添加前缀

在我的 XCode 项目中,我有两个数据模型 (.xcdatamodel),并希望为每个模型中的实体生成 NSManagedObject 派生类。问题是两个模型都包含一个同名的实体。如何使用前缀生成这些类以避免由于名称冲突而导致的链接错误,类似于此类似问题中描述的名称冲突?

core-data xcdatamodel xcode4.6

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

NSLineSeparatorCharacter在哪里定义?

我一直在谷歌搜索,贪图和搜索高低,但找不到答案.我需要包含哪个头文件才能在iOS中获取这些常量的定义?

NSLineSeparatorCharacter
NSNewLineCharacter
NSParagraphSeparatorCharacter
Run Code Online (Sandbox Code Playgroud)

cocoa-touch newline constants ios

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

在符合NSCopying和NSObject的协议上没有已知的选择器'copy'实例方法

当我编译下面的代码行id copiedData = [_localData copy];导致编译器错误"没有已知的选择器'副本'的实例方法." 鉴于它_localData是类型id<IGTestClassData>和给定IGTestClassData符合两者NSCopying,NSObject为什么它没有copy方法?

IGTestClass.h文件

#import <Foundation/Foundation.h>

@protocol IGTestClassData<NSCopying, NSObject>
    @property (nonatomic) NSString* localId;
@end

@interface IGTestClass : NSObject
{
    @protected
    id<IGTestClassData> _localData;
}

    -(void)doTest;
@end
Run Code Online (Sandbox Code Playgroud)

IGTestClass.m文件

#import "IGTestClass.h"

@implementation IGTestClass

-(instancetype)initWithLocalData:(id<IGTestClassData>)localData
{
    self = [super init];
    if (self)
    {
        _localData = localData;
    }

    return self;
}

-(void)doTest
{
    id copiedData = [_localData copy];
}

@end
Run Code Online (Sandbox Code Playgroud)

objective-c nsobject nscopying

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