问题列表 - 第20805页

Java:用已处理的匹配替换regexp

假设我有以下字符串:

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)

也就是说,使用字符串处理器在执行实际替换之前修改匹配的子字符串.

是否已经编写了一些库来实现这一目标?

java regex replace

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

php解析错误总是在最后一行

我正在尝试读取存储在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)

谢谢您的帮助.:)

php wampserver parse-error

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

使用点或括号语法设置属性有区别吗?

鉴于下面的属性声明,方法(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)

syntax objective-c declared-property

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

如何使用不同的名称调用相同的程序?

我指导你到Kernighan&Ritchie练习7.1

编写一个程序,根据调用的名称将大写字母转换为小写字母或小写字母为大写,...

如何使用不同的名称调用相同的程序?

我正在使用Linux,因此我只需输入以下内容即可调用已编译的程序:

$./ a.out的

我应该做些什么呢?

c linux

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

什么缩放器用于生成官方JQuery"缩小"版本?

我需要在高冲突的环境中编辑当前的JQuery库1.4.x(并完全重命名JQuery"对象/函数").

我的问题是,什么minifier已经生成了官方JQuery缩小版本.我在哪里可以找到这个缩小器?(因为我想用它来减少我的版本).

谢谢!蒂姆

jquery

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

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

QtWebkit同步加载

我正在使用没有QWebView的QWebPage,因为我想将HTML文件的内容呈现到QPixmap/QImage上.

我希望页面的加载是同步完成的,而不是异步的,这是默认的.默认方式是调用QWebFrame::setHtml()QWebFrame::setContent(),但这会异步加载图像.我想要的是某种阻塞函数调用,就像QWebFrame::waitUntilLoadFinished()之后我可以调用render()它并完成它.

我找不到办法做到这一点.我错过了什么吗?

c++ qt qtwebkit

11
推荐指数
3
解决办法
4443
查看次数

将GD图像转换回二进制数据

我有一个GD图像资源imagecreatefromstring.经过一些图像操作后,我想将其转换回二进制数据.我该怎么做?看不到手册中的任何功能......

php gd image

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

用Java编写函数?

我正在为我们创建的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 functional-programming dry function-composition

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

使用JNI/C++代码中的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) .

这给我带来了一些问题,我不认为细节是相关的.两个问题:

  1. 我可以从JNI代码中重用java套接字(可移植吗?假设是Sun JDK).这将完全避免这个问题,但到目前为止,我没有看到任何方式与JNI /本机代码中的java.net.Socket进行交互.

  2. 由于第一个问题的答案可能是NO,java如何创建该套接字(选择接口)?代码片段受到欢迎.我在openjdk的东西环顾四周,并没有找到我想要的东西.

谢谢,克里斯

c++ java sockets java-native-interface

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