假设我有以下字符串:
String in = "A xx1 B xx2 C xx3 D";
Run Code Online (Sandbox Code Playgroud)
我想要结果:
String out = "A 1 B 4 C 9 D";
Run Code Online (Sandbox Code Playgroud)
我想以类似的方式做到这一点:
String out = in.replaceAll(in, "xx\\d",
new StringProcessor(){
public String process(String match){
int num = Integer.parseInt(match.replaceAll("x",""));
return ""+(num*num);
}
}
);
Run Code Online (Sandbox Code Playgroud)
也就是说,使用字符串处理器在执行实际替换之前修改匹配的子字符串.
是否已经编写了一些库来实现这一目标?
我正在尝试读取存储在mysql表中的注释.出于某种原因,即使最后一行为空,我总是在文件的最后一行得到一个解析错误.我不确定它是否相关,但connect.php适用于将注释放入数据库.我正在使用wampserver来托管它并手动编码.
我认为这与while循环有关,当我注释掉while(){和}接近结尾时,我只是得到一些缺失的变量错误,正如你所期望的那样.我对php编码很新,所以我很确定问题会变得简单,我要么错过了,要么不能正确理解.
无论如何,这是我的代码:
<?php
include "connect.php";
?>
<?php
$sql = "SELECT * FROM main";
$result = mysql_query($sql) or die("Could not get posts from table");
while($rows=mysql_fetch_array($result)){
?>
<table bgcolor="green" align="center">
<tr>
<td></td>
</tr>
<tr>
<td><strong> <? echo $rows['name']; ?> </strong></td>
</tr>
<tr>
<td> <? echo $rows['email']; ?> </td>
</tr>
<tr>
<td> <? echo $rows['comment']; ?> </td>
</tr>
</table>
<?
}
?>
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.:)
鉴于下面的属性声明,方法(A)的工作方式与方法(B)完全相同吗?我只想检查self.yellowViewController = yellcon_New;是通过我的setter进行的,以便释放旧对象并保留新对象.
// INTERFACE
@property(nonatomic, retain) YellowViewController *yellowViewController;
// IMPLEMENTATION (A)
self.yellowViewController = yellcon_New;
// IMPLEMENTATION (B)
[self setYellowViewController:yellcon_New];
Run Code Online (Sandbox Code Playgroud) 我指导你到Kernighan&Ritchie练习7.1
编写一个程序,根据调用的名称将大写字母转换为小写字母或小写字母为大写,...
如何使用不同的名称调用相同的程序?
我正在使用Linux,因此我只需输入以下内容即可调用已编译的程序:
$./ a.out的
我应该做些什么呢?
我需要在高冲突的环境中编辑当前的JQuery库1.4.x(并完全重命名JQuery"对象/函数").
我的问题是,什么minifier已经生成了官方JQuery缩小版本.我在哪里可以找到这个缩小器?(因为我想用它来减少我的版本).
谢谢!蒂姆
是否可以从Silverlight/C#调用matlab函数?
我正在使用没有QWebView的QWebPage,因为我想将HTML文件的内容呈现到QPixmap/QImage上.
我希望页面的加载是同步完成的,而不是异步的,这是默认的.默认方式是调用QWebFrame::setHtml()或QWebFrame::setContent(),但这会异步加载图像.我想要的是某种阻塞函数调用,就像QWebFrame::waitUntilLoadFinished()之后我可以调用render()它并完成它.
我找不到办法做到这一点.我错过了什么吗?
我有一个GD图像资源imagecreatefromstring.经过一些图像操作后,我想将其转换回二进制数据.我该怎么做?看不到手册中的任何功能......
我正在为我们创建的API编写演示代码,并且我一直在遇到同样的问题,我正在重复自己,一遍又一遍地恶心.我很痛苦地意识到Java计划添加闭包但我现在无法访问它们.以下是我想在其自己的小角落里插入的地方重复的内容:
public BarObj Foo(Double..._input){
try{
//things that vary per function
//but everything else...
} catch(NullException _null){
m_Logger.error("Null error exception caught in Blah::Foo");
return null;
} catch(Exception ex){
m_Logger.error( ex.getMessage() );
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
关于我认为解决这个问题的唯一方法是将一个Method函数传递给一个函数,该函数带有try-catch逻辑并将其全部包含在另一个函数中,如下所示:
public BarObj MyFunc(Double..._input){
return compose("MyLogic",_input);
}
private BarObj MyLogic(Double..._input)
throws Exception{
//stuff
}
Run Code Online (Sandbox Code Playgroud)
但它看起来很丑陋并带有很多样板.有没有更简单的方法来编写Java中的函数?
我有一个java应用程序,它创建一个与服务器进程通信的套接字,例如new java.net.Socket(String host,int port).这个应用程序包含一堆遗留的c ++代码,需要从该服务器吸取大量数据并对其进行处理.这是通过让本机代码创建自己的套接字并连接到服务器来实现的,例如:
sock = socket(AF_INET, SOCK_STREAM, 0);
struct hostent* hp = gethostbyname(host);
if (!hp)
{
unsigned long addr = inet_addr(host);
hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET);
}
struct sockaddr_in name;
name.sin_family = AF_INET;
memcpy(&name.sin_addr, hp->h_addr, hp->h_length);
name.sin_port = htons(port);
connect(sock, (sockaddr*)&name, sizeof(name));
Run Code Online (Sandbox Code Playgroud)
在具有多个NIC(例如有线和wifi或VPN连接)的Windows vista/7计算机上,这两个套接字最终可能会有不同的本地地址.java代码似乎选择了"更好"的界面(有线Gb enet =更高的MTU?),本机(天真?)代码获得"默认"界面(坚持在USB设备中,它成为您的默认设置 - yuck) .
这给我带来了一些问题,我不认为细节是相关的.两个问题:
我可以从JNI代码中重用java套接字(可移植吗?假设是Sun JDK).这将完全避免这个问题,但到目前为止,我没有看到任何方式与JNI /本机代码中的java.net.Socket进行交互.
由于第一个问题的答案可能是NO,java如何创建该套接字(选择接口)?代码片段受到欢迎.我在openjdk的东西环顾四周,并没有找到我想要的东西.
谢谢,克里斯
java ×3
c++ ×2
php ×2
c ×1
dry ×1
gd ×1
image ×1
jquery ×1
linux ×1
matlab ×1
objective-c ×1
parse-error ×1
qt ×1
qtwebkit ×1
regex ×1
replace ×1
silverlight ×1
sockets ×1
syntax ×1
wampserver ×1