小编duf*_*ymo的帖子

在Java中修剪字符串,同时保留完整的单词

我需要修剪java中的String,以便:

快速的棕色狐狸跳过laz狗.

快棕...

在上面的例子中,我修剪为12个字符.如果我只使用子字符串,我会得到:

快速...

我已经有了使用子字符串执行此操作的方法,但我想知道什么是最快(最有效)的方法,因为页面可能有许多修剪操作.

我能想到的唯一方法是将字符串分割成空格并将其重新组合,直到其长度超过给定长度.还有其他方法吗?也许是一种更有效的方法,我可以使用相同的方法来执行"软"修剪,其中我保留最后一个单词(如上例所示)和硬修剪,这几乎是一个子字符串.

谢谢,

java string substring trim

9
推荐指数
3
解决办法
7345
查看次数

在Windows 7上从F:驱动器中读取.csv到pandas

我在Windows 7 64位上的F:驱动器上有一个.csv文件,我想读入pandas并进行操作.

我看到的所有示例都没有读取除简单文件名之外的任何内容(例如'foo.csv').

当我尝试这个时,我得到的错误消息并没有让我明白这个问题:

import pandas as pd

trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
trainData = pd.read_csv(trainFile)
Run Code Online (Sandbox Code Playgroud)

错误消息说:

IOError: Initializing from file failed
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一些简单的东西.谁能看到它?

更新:

我确实得到了这样的更多信息:

import csv

if __name__ == '__main__':
    trainPath = 'F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv'
    trainData = []
    with open(trainPath, 'r') as trainCsv:
        trainReader = csv.reader(trainCsv, delimiter=',', quotechar='"')
        for row in trainReader:
            trainData.append(row)
    print trainData
Run Code Online (Sandbox Code Playgroud)

我在阅读时收到了权限错误.当我检查文件的属性时,我发现它是只读的.取消选中后,我成功读取了892行.

现在大熊猫也在努力.无需移动文件或修改路径.谢谢你的期待.

python csv pandas

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

用于与规则引擎交互的首选方法

我即将潜入一个面向规则的项目(使用ILOGs .NET规则 - 现在是IBM).我已经阅读了几个关于如何设置规则处理以及如何与规则引擎交互的不同观点.

我看到的两个主要想法是将规则引擎集中(进入自己的服务器场),并通过Web服务API(或通过WCF在ILOG的情况下)对服务器场进行编程.另一方面是在每个应用服务器上运行规则引擎的实例,并在本地与其进行交互,每个实例都有自己的规则副本.

集中化的优势在于易于将规则部署到集中位置.规则按需要扩展,而不是每次扩展应用程序服务器配置时进行扩展.这减少了购买许可证的浪费.此设置的缺点是进行服务调用,网络延迟等的额外开销.

本地运行规则引擎的上行/下行与集中配置的上行/下行完全相反.没有慢速服务调用(快速API调用),没有网络问题,每个应用服务器都依赖于它自己.管理规则的部署变得更加复杂.每次向应用云添加节点时,您都​​需要更多的规则引擎许可证.

在阅读白皮书时,我发现亚马逊正在为每个应用服务器配置运行规则引擎.他们似乎对规则进行了缓慢的部署,并认识到规则发布中的滞后是"可接受的",即使业务逻辑在给定的时间段内不同步.

问题:根据您的经验,开始将规则集成到基于.net的Web应用程序中的最佳方法是什么?这个商店还没有花费太多时间在规则驱动的世界中工作?

websphere rule-engine

8
推荐指数
1
解决办法
2960
查看次数

AS3使用Matrix从"中心""缩放"对象

这是我试图弄清楚ActionScript3/Flex中显示对象的内容.假设您有一个显示对象,其注册点位于左上角,您希望从其中心(显示对象的中间)缩放它,您如何使用flash.geom.Matrix类轻松实现此操作

谢谢你的帮助

math matrix displayobject actionscript-3

8
推荐指数
1
解决办法
7552
查看次数

如何在chrome中使用像firebug控制台一样的mozilla?

firebug控制台显示每个ajax请求及其参数和响应,

是否有可能在Chrome中获得这个?

firebug mozilla google-chrome

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

JPA最佳做法?

我正在开发一个利用JPA/EclipseLink作为持久层的小型多层应用程序.在我目前的设计中,我有两组对象,POJO和Entity对象,我使用POJO进行常规编程任务,而Entity类用于DB读/写和表映射​​.

现在有必要让POJO =>实体映射(有问题),然后是第二个Entity ==> DB表映射(JPA注释)?我发现使用Entity类作为我的主java对象更容易,并且在必要时将它们持久化,所有Entity类本质上都是POJO并带有几个JPA注释.

同样在确实需要将事物分开的情况下,POJO =>实体映射的最佳位置是什么,目前我在CRUD方法中这样做,例如

public void addCustomerPOJO(Customer customerPOJO){
   //Cteat EntityManager and start a Transaction

   //Create Entity class and populate it with values 
   //from the passed-in regular (non entity) Customer class

  //Persiste and close
}
Run Code Online (Sandbox Code Playgroud)

有没有更好或更常见的方法来做到这一点?

java entity jpa pojo

8
推荐指数
1
解决办法
7048
查看次数

帮我理解FFT函数(Matlab)

1)除了负频率,这是FFT函数提供的最小频率?它是零吗?
2)如果它为零,我们如何在对数标度上绘制零?
3)结果总是对称的?或者它看似是对称的?
4)如果我使用abs(fft(y))来比较2个信号,我可能会失去一些准确性吗?

matlab fft

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

MISRA中评论规则的基本原理

MISRA中的规则2.2规定"源代码仅应使用/* ... */样式注释".有没有人知道这条规则的基本原理是什么?什么是错的//风格的注释?

coding-style misra

7
推荐指数
1
解决办法
3430
查看次数

如何跳过Java中csv的第一行?

我想跳过第一行并使用第二行作为标题.

我正在使用apache commons csv中的类来处理CSV文件.

CSV文件的标题位于第二行,而不是第一行(包含坐标).

我的代码看起来像这样:

static void processFile(final File file) {
    FileReader filereader = new FileReader(file);
    final CSVFormat format = CSVFormat.DEFAULT.withDelimiter(';');
    CSVParser parser = new CSVParser(filereader, format);
    final List<CSVRecord> records = parser.getRecords();
    //stuff
}
Run Code Online (Sandbox Code Playgroud)

我天真地想,

CSVFormat format = CSVFormat.DEFAULT.withFirstRecordAsHeader().withDelimiter(;)
Run Code Online (Sandbox Code Playgroud)

会解决问题,因为它与withFirstRowAsHeader不同,我认为它会检测到第一行不包含任何分号而不是记录.它没有.我试图跳过第一行(CSVFormat似乎认为是标题)

CSVFormat format = CSVFormat.DEFAULT.withSkipHeaderRecord().withFirstRecordAsHeader().withDelimiter(;);
Run Code Online (Sandbox Code Playgroud)

但这也行不通.我能做什么?withFirstRowAsHeader和withFirstRecordAsHeader之间的区别是什么?

java csv apache-commons-csv

7
推荐指数
3
解决办法
5961
查看次数

升级到 Spring Boot 2.4.0 打破传统应用

我正在将一组遗留应用程序升级到 Spring Boot 2.4.0,在 OpenJDK 8 上运行,部署到 Pivotal Cloud Foundry。

在我开始升级之前,该应用程序及其所有单元测试在 Spring 2.3.4-RELEASE 下完美运行。

有一些工作需要立即完成:Spring Boot 2.4.0 引入了 JUnit 5.x,所以我必须修复所有 JUnit 4.x 测试以使用新的注释和类。

修复所有测试后,我尝试在 IntelliJ 2020.2 中运行。由于相同的原因,所有测试都失败了:java.lang.IllegalStateException: Failed to load ApplicationContext. 堆栈跟踪的根源给出了这个原因:

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
Run Code Online (Sandbox Code Playgroud)

为了 Kubernetes,他们从 Spring Boot 中删除了一个基本类。我不确定我明白为什么。

我做了谷歌搜索,找到了这个解释和修复。

我添加spring.config.use-legacy-processing到我的application.yml和一个测试application.properties文件中:

spring:
  config:
    use-legacy-processing: true
Run Code Online (Sandbox Code Playgroud)

仍然没有快乐 - 所有的测试都失败了。

我对我看到的其他链接感到困惑。这是一个问题spring-cloud-dependencies吗?我读到Hoxton版本可能有问题。我需要将它添加到我的应用程序中吗?在升级之前它从不需要这个依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

问题比测试更大。如果我忽略它们并尝试运行该应用程序,我仍然会失败:

ERROR [main]: Application run failed …
Run Code Online (Sandbox Code Playgroud)

intellij-idea spring-boot spring-cloud junit5

7
推荐指数
1
解决办法
5538
查看次数