问题列表 - 第36235页

vim正则表达式只用一个空格替换多个连续的空格

我经常处理具有可变数量的空格的文本文件作为单词分隔符(像Word这样的文本处理器这样做,由于某些字体中不同大小的字母而公平地分配空白量,并且即使在保存为纯文本).

我想自动化用单个空格替换这些具有可变长度的空格序列的过程.我怀疑一个正则表达式可以做到这一点,但是在段落的开头还有空格(通常是四个,但并不总是),我想让它保持不变,所以基本上我的正则表达式也应该不触及前导空格这个增加了复杂性.

我正在使用vim,所以vim正则表达式方言中的正则表达式对我来说非常有用,如果这是可行的话.

我目前的进展如下:

:%s/ \+/ /g
Run Code Online (Sandbox Code Playgroud)

但它无法正常工作.

我也在考虑编写一个可以逐个解析文本行的vim脚本,按char处理每一行char并在第一行之后跳过空格,但我觉得这有点矫枉过正.

regex vim

65
推荐指数
4
解决办法
7万
查看次数

装饰器使用Python应用于类定义

与应用于函数的装饰器相比,理解应用于类的装饰器并不容易.

@foo
class Bar(object):
    def __init__(self, x):
        self.x = x
    def spam(self):
        statements
Run Code Online (Sandbox Code Playgroud)

装饰器对一个类的用例是什么?如何使用它?

python decorator

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

是否可以在iPhone上检测当前的键盘输入方法?

我想知道用户输入的当前输入法,例如En(英语),德语,中文等...也许键盘类型就是我所追求的,但文档似乎仅限于Apple doc的这个主题.

谢谢!

管理iPhone键盘 http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

iphone objective-c

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

二进制文件I/O.

如何用D语言读写二进制文件?在C中将是:


    FILE *fp = fopen("/home/peu/Desktop/bla.bin", "wb");
    char x[4] = "RIFF";

    fwrite(x, sizeof(char), 4, fp);
Run Code Online (Sandbox Code Playgroud)

我在D docs找到了rawWrite ,但我不知道用法,也不知道我的想法.fread来自C:

T [] rawRead(T)(T [] buffer);

如果文件未打开,则抛出异常.否则,为文件句柄调用fread并抛出错误.

rawRead始终在Windows上以二进制模式读取.

io d

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

重命名函数与undef:与Windows API冲突

现在实际上已经发生了两次。我正在编写一个跨平台的应用程序,并且我的一些函数名称与Windows API冲突。我所做的(例如,使用LoadObject)是...

#undef GetObject

这是可以的方法,还是应该重命名功能?

c++ windows winapi cross-platform

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

Python:列表列表的字典

def makecounter():
     return collections.defaultdict(int)

class RankedIndex(object):
  def __init__(self):
    self._inverted_index = collections.defaultdict(list)
    self._documents = []
    self._inverted_index = collections.defaultdict(makecounter)


def index_dir(self, base_path):
    num_files_indexed = 0
    allfiles = os.listdir(base_path)
    self._documents = os.listdir(base_path)
    num_files_indexed = len(allfiles)
    docnumber = 0
    self._inverted_index = collections.defaultdict(list)

    docnumlist = []
    for file in allfiles: 
            self.documents = [base_path+file] #list of all text files
            f = open(base_path+file, 'r')
            lines = f.read()

            tokens = self.tokenize(lines)
            docnumber = docnumber + 1
            for term in tokens:  
                if term not in sorted(self._inverted_index.keys()):
                    self._inverted_index[term] = [docnumber] …
Run Code Online (Sandbox Code Playgroud)

python information-retrieval

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

如何在Mathematica文本中使用sub和superscript,例如:化学公式?

这不是一个编程问题,但它是关于一个编程环境,所以希望不是太不合适.我需要能够在Mathematica文本中编写化学公式(这是关于文本,而不是输入/代码).像:H 3 O +.但Mathematica似乎无法做到这一点.如果您使用普通的子/上标函数,或点击Cntl-_或Cntl-6,它会使您处于"数学模式",即使您在文本中,因此字母变为斜体,并在3之间放置一个空格和O.像这样:H 3 O +.丑陋,尤其是化学药品更长.

Mathematica中的其他东西就像普通的文字处理器一样 - 你可以将字体设置为斜体,粗体,大字母,小字体和彩色字体 - 但字处理器中常见的下标和上标函数似乎缺失了.

我错过了什么吗?希望如此...

谢谢,
罗布

wolfram-mathematica

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

显示隐藏内容取决于是否选中了复选框

我对jquery很新,所以我为自己迄今为止所想到的事情感到骄傲.我要做的是根据适当的复选框状态显示/隐藏选项列表.Eveything工作正常,但我无法弄清楚如何检查是否在加载时检查复选框我知道我应该能够立即使用is.checked我有这个javascript

    $('.wpbook_hidden').css({
    'display': 'none'
});
$(':checkbox').change(function() {
    var option = 'wpbook_option_' + $(this).attr('id');
    if ($('.' + option).css('display') == 'none') {
        $('.' + option).fadeIn();
    }
    else {
        $('.' + option).fadeOut();
    }
});
Run Code Online (Sandbox Code Playgroud)

根据复选框的状态,它会淡入和淡出一个类.这是我的HTML

<input type="checkbox" id="set_1" checked> click to show text1
<p class = "wpbook_hidden wpbook_option_set_1"> This is option one</p>
<p class = "wpbook_hidden wpbook_option_set_1"> This is another option one</p>
<input type="checkbox" id="set_2"> click to show text1
<p class = "wpbook_hidden wpbook_option_set_2"> This is option two</p>
Run Code Online (Sandbox Code Playgroud)

我遇到的两个问题是,.wpbook_hidden类的内容始终是隐藏的,如果在加载时选中了复选框,则应加载内容. …

javascript checkbox jquery show-hide

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

C++:将日期/时间字符串转换为tm结构

考虑一下这个问题的后续问题.从本质上讲,C++的日期/时间格式化设施似乎无可救药地被打破 - 以至于为了做一些简单的事情,如将日期/时间字符串转换为对象,你真的不得不求助于Boost.Datetime或者旧的C strftime/ strptime设施.

问题是这些解决方案都不能直接使用嵌入特定iostream对象的C++语言环境设置.C工具使用全局C/POSIX语言环境设置,而Boost.Datetime中的I/O工具似乎完全绕过iostream语言环境设置,允许用户直接设置月份,工作日等的名称,而不管语言环境如何.

因此,我想要一些能够尊重特定I/O流上的语言环境设置的东西,这些设置允许我将字符串转换为字符串struct tm.这似乎很容易,但我遇到了各个角落的障碍.起初,我注意到STL的某些实现提供了非标准std::time_get::get函数,所以我决定实现类似的东西.基本上,我只是迭代格式字符串,每当我点击格式标志时,我会使用time_get工具之一(如get_monthname,get_weekday,get_year等)将输入字符串转换为a struct tm.这似乎很容易,除了这些函数中的每一个都需要精确的迭代器范围.您无法转换"Monday,",必须"Monday"完全转换,否则转换失败.因为迭代器必须是istreambuf_iterator,你不能简单地向前扫描,因为每个增量都会改变流缓冲区中的获取位置.所以,基本上你必须首先遍历流,将每个字符复制到另一个 streambuffer,然后当你点击分隔符(如空格或逗号)时,使用带有time_get工具的第二个streambuffer.这就好像C++设计师竭尽全力让它尽可能地烦人.

那么,有更简单的解决方案吗?大多数C++程序员在需要将日期/时间字符串转换为对象时会做什么?我们是否只需要使用C设施,并且失去了在不同的iostream对象上出现的不同语言环境设置所带来的优势?

c++ datetime locale

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

如何使用string.tr在Ruby中用单引号替换双引号?

如何使用string.tr在Ruby中用单引号替换双引号?

ruby

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