问题列表 - 第38906页

尝试使用String.split("\\?")时出现意外行为

所以我有一个像这样的字符串:

"Some text here?Some number here"
Run Code Online (Sandbox Code Playgroud)

我需要拆分那些,我正在使用String.split("\\?"),但如果我有这样的字符串:

"This is a string with, comma?1234567"
Run Code Online (Sandbox Code Playgroud)

我也把它分成了逗号(,).如果我有这个字符串:

"That´s a problem here?123456"
Run Code Online (Sandbox Code Playgroud)

它也分裂了´,那我怎么解决这个问题呢?

java string split

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

泛型类型中的C#多态

class Base
{}

class Sub : Base
{}


void AddNewBase(Base t, LinkedList<Base> list){ ... }
...
{

    Sub asub = new Sub();

    LinkedList<Sub> asubList = new LinkedList<Sub>();
    AddNewBase(asub,asubList) // doesn't work
}
Run Code Online (Sandbox Code Playgroud)

基本上,我有一个自定义插入函数,它接受一个新项目和一个列表来放入它,它做了一些"排序"的东西,找到一个好的地方把它放在列表中.

问题是,我想基于'Base'中的属性来做这个,所以最好只有一个函数可以为所有子类型列表执行此操作.

我想我想要的是:

static void AddNewBase<T>(T t, LinkedList<T> list){ ... }
Run Code Online (Sandbox Code Playgroud)

但有一些澄清T的方式:'其中T是Base的子类'

c# generics polymorphism

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

使用jQuery each()重新排序DOM元素顺序

有没有办法修改JQuery每个()访问页面上的元素的顺序?

即我在页面上有4个元素,我希望元素3先来,然后是2,然后是4,然后是1.

谢谢

理查德

each jquery dom

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

用Mathematica改变矩阵的对角线

有没有一种优雅的方法可以将矩阵的对角线更改为新的值列表,相当于Band with SparseArray?

说我有以下矩阵(见下文)

(mat = Array[Subscript[a, ##] &, {4, 4}]) // MatrixForm
Run Code Online (Sandbox Code Playgroud)

并且我想将主对角线改为以下以获得"新垫子"(见下文)

newMainDiagList = Flatten@Array[Subscript[new, ##] &, {1, 4}]
Run Code Online (Sandbox Code Playgroud)

我知道使用ReplacePart将主对角线更改为给定值很容易.例如:

ReplacePart[mat, {i_, i_} -> 0]
Run Code Online (Sandbox Code Playgroud)

我也不想局限于主对角线(与Band不受SparseArray限制的方式相同)

(我现在使用的方法如下!)

(Normal@SparseArray[Band[{1, 1}] -> newMainDiagList] + 
   ReplacePart[mat, {i_, i_} -> 0]) // MatrixForm
Run Code Online (Sandbox Code Playgroud)

(期望输出是'新垫')

替代文字

wolfram-mathematica

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

除了查找可重现的内存泄漏之外,我可以使用Visual C++ Debug CRT分配挂钩做些什么?

Visual C++调试运行时库具有所谓的分配挂钩.以这种方式工作:您定义一个回调并调用_CrtSetAllocHook()以设置该回调.现在,每次完成内存分配/释放/重新分配时,CRT会调用该回调并传递一些参数.

我成功地使用了一个分配钩子来找到一个可重现的内存泄漏 - 基本上CRT报告在程序终止时有一个分配编号为N(在每个程序运行时N都相同)的不一致块,所以我在我的钩子中编写了以下内容:

int MyAllocHook( int allocType, void* userData, size_t size, int blockType, 
    long requestNumber, const unsigned char* filename, int lineNumber)
{
     if( requestNumber == TheNumberReported ) {
         Sleep( 0 );// a line to put breakpoint on
     }
     return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

因为每次我只能在if语句中放入一个断点并等待它被击中然后检查调用堆栈,就会报告泄漏的分配编号非常相同.

使用分配挂钩可以做些什么其他有用的事情?

memory debugging memory-management visual-c++

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

$(窗口)上的jQuery绑定/取消绑定'scroll'事件

我有这个功能:

function block_scroll(key){
    if (key) {
        $(window).bind("scroll", function(){
            $('html, body').animate({scrollTop:0}, 'fast');
        });
    } else {
        $(window).unbind();
    }
}
Run Code Online (Sandbox Code Playgroud)

第一部分按原样运行,但是当我稍后调用block_scroll(false)时 - 它仍然阻塞.笏呢?

重新编辑 所以我试过......

$(window).unbind("scroll");
Run Code Online (Sandbox Code Playgroud)

......有些困惑.起初它没有用 - 然后它起作用了.

现在我认为它失败了因为我在滚动的时候调用了block_scroll(false).我现在已经多次测试了这个.是的,如果我在脚本运行时没有做任何事情并且调用了block_scroll(false) - 它确实有效.但是,如果我在调用它时滚动它就不会.

jquery bind unbind

45
推荐指数
2
解决办法
11万
查看次数

用于在手中查找街道和同类的算法

这实际上是一个基于麻将的问题,但基于Romme甚至基于扑克的背景也很容易理解.

在Mahjong中,14个瓷砖(瓷砖就像扑克中的卡片)被安排成4套和一对.街道("123")总是使用3个瓷砖,而不是更多而不是更少.一组相同类型("111")也包含3个瓷砖.这导致3*4 + 2 = 14个瓦片的总和.

有一些例外,如Kan或十三个孤儿,这里没有相关性.颜色和值范围(1-9)对于算法也不重要.

我正在尝试确定手是否可以按上述方式排列.出于某些原因,它不仅应该能够处理14个而且可以处理任意数量的瓷砖.(下一步是找到需要交换多少个牌才能完成一手牌.)

例子:

11122233344455 - 足够容易,4套和一对.
12345555678999- 123,456,789,555,99
11223378888999- 123,123,789,888,99
11223344556789- 不是有效的手

我目前尚未实现的想法是这样的:对于每个瓷砖,尝试制作a)街道b)一组c)一对.如果没有工作(或者将有> 1对),请返回上一次迭代并尝试下一个选项,或者,如果这是最高级别,则失败.否则,从剩余的切片列表中删除使用过的切片,然后继续下一次迭代.

我相信这种方法有效并且速度也相当快(性能是一个"不错的奖励"),但我对你的看法很感兴趣.你能想到其他解决方案吗?这个或类似的东西是否已存在?

(不是作业,我正在学习麻将.)

algorithm poker mahjong

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

在字符串中查找子字符串,但仅限于整个单词?

在Python中查找另一个字符串中的字符串的优雅方法是什么,但仅当子字符串在整个单词内,而不是单词的一部分时?

也许一个例子将证明我的意思:

string1 = "ADDLESHAW GODDARD"
string2 = "ADDLESHAW GODDARD LLP"
assert string_found(string1, string2)  # this is True
string1 = "ADVANCE"
string2 = "ADVANCED BUSINESS EQUIPMENT LTD"
assert not string_found(string1, string2)  # this should be False
Run Code Online (Sandbox Code Playgroud)

我怎样才能最好地编写一个名为string_found的函数来完成我需要的工作呢?我想也许我可以用这样的东西来捏造它:

def string_found(string1, string2):
   if string2.find(string1 + " "):
      return True
   return False
Run Code Online (Sandbox Code Playgroud)

但这并不是很优雅,如果它在string2的末尾也不会匹配string1.也许我需要正则表达式?(argh regex fear)

python string search substring

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

如何将范围<0; 99>中的数字映射到范围<-1.0; 1.0>?

所以我有一个函数总是返回范围<0; 99>(即0,1,... 99 - 整数)的数字.

将这些数字正确映射到范围<-1.0; 1.0>的最佳方法是什么?

0当然是-1.0而99则是1.0.如何计算之间的数字?

python

8
推荐指数
5
解决办法
2万
查看次数

Windows 7上任务栏中的.NET进度条

如何让我的winforms应用程序在Windows 7的任务栏图标中显示其进度条?

例如:带下载的chrome.

谢谢!!

迭戈

.net c# windows-7 progress-bar

22
推荐指数
3
解决办法
7701
查看次数