我有一个长度为6的SQL列.现在只想获取该列的第一个字符.SQL中是否有任何字符串函数可以执行此操作?
我想使用正则表达式从一些聊天记录中提取信息。被解析的字符串的格式是03:22:32 PM <b>blcArmadillo</b>
. 我使用 python type() 命令发现变量消息是一个可调用迭代器。我的问题是如何最有效地浏览可调用迭代器?它们像数组一样可以只使用索引吗?我能找到“提取”数据的唯一方法是遍历返回的值并将它们添加到列表中,如下面的代码片段所示。
times = []
messages = re.compile(r'(?P<time>..:..:.. ..).*?<b>(?P<usrname>.*?):</b>').finditer(search)
for result in messages:
times.append(result.group('time'))
Run Code Online (Sandbox Code Playgroud)
有没有更好更有效的方法来做到这一点?谢谢您的帮助。
让我首先说我已经阅读了这些问题:1和2,我明白我可以编写代码来查找我的列表中的重复项,但我的问题是我想更新原始列表而不仅仅是查询和打印重复项.
我知道我不能更新查询返回的集合,因为它不是一个视图,它是一个匿名类型IEnumerable<T>
.
我希望能够在列表中找到重复项,并标记我创建的属性,该属性State
稍后在应用程序中使用.
有没有人遇到这个问题,你能指出我正确的方向吗?
ps我正在使用ATM的方法是一个冒泡排序类型循环,逐项遍历列表并比较关键字段.显然这不是最快的方法.
编辑:
为了将列表中的项目视为"重复",有三个必须匹配的字段.我们将它们称为Field1,Field2和Field3
我在基类上有一个重载的Equals()方法,用于比较这些字段.
我在跳过对象的唯一时间MarkDuplicates()
的方法是如果对象状态是UNKNOWN
或ERROR
,否则,我测试了.
如果您需要更多详细信息,请告诉我们.
再次感谢!
我有一个函数,使用Php的DOMDocument替换字符串中的锚点'href属性.这是一个片段:
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHTML($text);
$anchors = $doc->getElementsByTagName('a');
foreach($anchors as $a) {
$a->setAttribute('href', 'http://google.com');
}
return $doc->saveHTML();
Run Code Online (Sandbox Code Playgroud)
问题是loadHTML($ text)围绕doctype,html,body等标签中的$ text.我尝试通过这样做而不是loadHTML()来解决这个问题:
$doc = new DOMDocument('1.0', 'UTF-8');
$node = $doc->createTextNode($text);
$doc->appendChild($node);
...
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会编码所有实体(包括锚点).有谁知道如何关闭它?我已经彻底查看了文档,并试图破解它,但无法弄明白.
谢谢!:)
我一直在尝试查看CodePlex上的一些项目,试图了解其他人如何设计他们的应用程序.我试图在C#2008 Express中打开这些项目时遇到了一些麻烦.当我打开解决方案或csproj文件时,我遇到此错误消息:
无法打开'Foo.csproj',因为此版本的应用程序不支持其项目类型(.csproj).
要打开它,请使用支持此类项目的版本.
当我打开自己创建的项目时,这不会发生.外部项目甚至在2005年以这种格式自动转换,但在尝试打开转换后的文件时会窒息.
这是Express版本的限制,还是我可以做些什么来解决这个问题?
我尝试用谷歌搜索,但我发现的结果不太有帮助.
谢谢!
更新:
@JaredPar要求我打开时遇到困难的具体项目.
众所周知的"打破骆驼的稻草"被称为Continuum,但我也遇到了CodePlex上的其他项目以及Paint.NET源的困难.
我已经尝试卸载并重新安装,但问题仍然存在.
@brianpeiris请求我的安装规范:
Visual Studio
Microsoft Visual Studio 2008
版本9.0.30729.1 SP
Microsoft .NET Framework
版本3.5 SP1
已安装版:C#Express
Microsoft Visual C#2008 91910-152-0000061-60196
用于Microsoft Visual C#2008 Express Edition SP1的
修补程序- ENU(KB945282)KB945282 用于Microsoft Visual C#2008 Express Edition SP1的
修补程序- ENU(KB946040)KB946040 Microsoft Visual C#2008 Express修补程序SP1版本 - ENU(KB946308)KB946308
适用于Microsoft Visual C#2008 Express Edition SP1的修补程序- ENU(KB947540)KB947540 适用于Microsoft Visual C#2008 Express Edition SP1的
修补程序 - ENU(KB947789)KB947789
系统
系统:
Microsoft Windows XP
Professional
版本2002 …
在Java中
对象是否封装数据,以便即使是同一类的其他实例也无法访问数据?只有在使用关键字"private"时?Java中的"访问器方法"是什么 - 像getName()这样的方法?
谢谢
我们在访问映射网络驱动器上的内容时遇到问题.
我们在weblogic 8.1(Windows 2000 NT)上运行了一个Web应用程序.
应用程序从映射的网络驱动器中检索图像并显示.
现在我们将应用程序移动到Weblogic 10.3上托管的虚拟机(Windows 2003 SP1)上.
但是,即使网络驱动器已映射并在计算机上可用,在此新设置上,应用程序也无法访问它.
是否有任何特定设置用于在虚拟机上映射网络驱动器?
有帮助吗?真的很震惊.
提前致谢.
贾尼.
我正在使用串口从另一个系统读取数据.我正在读取133字节的数据包.第二个字节是包号,第三个字节是包号的负值.
问题是,该类型byte
的范围是-128到127.当我试图读取-129(字节的范围外),它会得到的值作为127.
我应该怎么做才能得到-129?
我编写了一个代码来查找字符串中的子字符串.它打印所有子串.但我想要一个范围从长度2到6的子字符串并打印最小长度的子字符串.请帮我
程序:
import re
p=re.compile('S(.+?)N')
s='ASDFANSAAAAAFGNDASMPRKYN'
s1=p.findall(s)
print s1
Run Code Online (Sandbox Code Playgroud)
输出:
['DFA', 'AAAAAFG', 'MPRKY']
Run Code Online (Sandbox Code Playgroud)
期望的输出:
'DFA' length=3
Run Code Online (Sandbox Code Playgroud) 精简版:
是否有一种简单的内置方法来识别Django模板中的调用视图,而不传递额外的上下文变量?
长(原版)版:
我的一个Django应用程序有几个不同的视图,每个视图都有自己的命名URL模式,它们都呈现相同的模板.有一小部分模板代码需要根据被调用的视图进行更改,太小而不值得为每个视图设置单独模板的开销,所以理想情况下我需要找到一种方法来识别模板中的调用视图.
我试着设置的意见,额外的上下文变量传递(如"VIEW_NAME")来识别主叫观点,我已经使用也尝试过{% ifequal request.path "/some/path/" %}
比较,但这些方法都显得特别优雅.有没有更好的方法从模板中识别调用视图?有没有办法访问视图的名称或URL模式的名称?
更新1:关于评论这只是我误解MVC的一个例子,我理解MVC,但Django并不是一个真正的MVC框架.我相信我的应用程序设置的方法是用Django的采取对MVC一致:意见描述其提出的数据,以及模板描述如何将数据呈现.我碰巧有许多视图准备不同的数据,但都使用相同的模板,因为所有视图的数据呈现方式相同.我只是想找一种简单的方法来识别模板中的调用视图(如果存在的话).
更新2:感谢所有答案.我认为这个问题正在被推翻 - 正如我在原来的问题中所提到的,我已经考虑并尝试了所有建议的解决方案 - 所以我现在把它提炼成一个"短版本",现在问题的顶部.而现在似乎如果有人只是发布"否",它将是最正确的答案:)
更新3: Carl Meyer发布了"否":)再次感谢大家.