我想在 jstl 标签内使用 StringUtils.abbreviate(),是否有用于此的 taglib 位置?
我搜索了公共站点和网络,但找不到示例。是否有一种通用的方法也可以找到 taglib 位置,也许在 javadoc 树的标准位置?
谢谢!网卡
你能告诉我是否有任何StringUtils函数可以根据逗号和空格进行拆分.基本上我想知道我们是否有任何基于两个分隔符分割的功能.我已经编写了自定义函数来执行相同操作,但只是检查我们是否在任何utils包中都有任何好的功能.
我的方法是用第二个分隔符替换第一个分隔符,然后根据第二个分隔符进行分割.
我试图从Groovy类中调用Apache Commons StringUtils.join()方法.我想连接3串(part1,part2,和part3).
为什么这不起作用?
def path = StringUtils.join([part1, part2, part3]) //1
Run Code Online (Sandbox Code Playgroud)
但以下行有效:
def path = StringUtils.join([part1, part2, part3] as String[]) //2
Run Code Online (Sandbox Code Playgroud)
跟进问题.为什么这样做?我使用的是StringUtils v 2.6,因此它没有varargs方法.groovy总是将方法参数转换为数组吗?
def path = StringUtils.join(part1, part2, part3) //3
Run Code Online (Sandbox Code Playgroud)
这在很大程度上是一个好奇心问题.我不会使用StringUtils,因为我昨天发布了一个单独的问题并找到了更好的解决方案.但是,我仍然想知道为什么技术#1不起作用,但#3确实有效.
我正在验证包含以下内容的csv文件:
TEST;F;12345;0X4321 - 1234 DUMMYTEXT;0X4321 - 1234 TESTTEXT
到目前为止,这些价值被分开了';' 这个方法就像一个魅力:
private static final String COLUMN_SEPARATOR = ";";
public void validateFile(BufferedReader reader) {
String line = reader.readLine();
while (line != null && result == ValidationResult.VALID) {
//this is broken with tab-stop as COLUMN_SEPARATOR
int matches = StringUtils.countMatches(line, COLUMN_SEPARATOR);
if (matches != getCSVColumnCount() - 1
&& StringUtils.isNotBlank(line)) {
if (matches == 0) {
//MISSING_CSV_COLUMN_SEPERATOR;
} else {
//UNEXPECTED_CSV_COLUMN_COUNT;
}
}
line = reader.readLine();
}
}
Run Code Online (Sandbox Code Playgroud)
作为一个更改的要求,现在我必须处理制表位作为列分隔符,而文本可以包含空格:
TEST F 12345 0x4321 - 1234 …
我想知道这个疯狂的事情 StringUtils.split(string,separator);
我想用分隔符分隔一个字符串@@--@@,我的代码是这样的.
String[] strings = StringUtils.split("kayf86@--@9@--@5r43987@!@!%%^&^$%@!@!%-@@*&%$*(&^$%@!@!%--@", "@--@");
for (String string : strings) {
System.out.println(string);
}
Run Code Online (Sandbox Code Playgroud)
我发现了输出
kayf86
9
5r43987
!
!%%^&^$%
!
!%
*&%$*(&^$%
!
!%
Run Code Online (Sandbox Code Playgroud)
我用commons-lang-2.6.jarCan可以解释一下这件事是怎么发生的.
是否需要在所有POJO类中添加toString()?
这是一个非常基本的问题,但我担心在每个POJO课程中编写一段代码.
我已经关注了很多java源代码,我在那些POJO类中发现了一些常见的东西 -
@Override
public String toString() {
return StringUtil.toDetailString(this);
}
Run Code Online (Sandbox Code Playgroud)
是序列化还是有助于提高性能还是其他什么?
我正在使用Ant LoadFile任务从存储库根目录中的文件中读取版本.
<loadfile property="build.version" srcFile="VERSION"/>
Run Code Online (Sandbox Code Playgroud)
由于用于创建和编辑它的工具,版本文件以换行符结束.Ant正在阅读并使用该换行符作为属性值的一部分.当我使用该值作为文件或输出的替代品时,这让我感到困扰.
@build.version@ -> 99.0.0.0^M
Run Code Online (Sandbox Code Playgroud)
有没有办法在加载后或作为loadfile任务的一部分将其从属性中删除?
我在谈论这种Chomp.
该VERSION文件实际上只包含版本号和换行符(行号为我的插图).
1. 99.0.0.0
2.
Run Code Online (Sandbox Code Playgroud) 让我们说我有一个字符串"aabbccaa".现在我想"aa"用另一个字符串替换给定字符串中的出现.但它应该是以下列方式.
第一次出现"aa"应该被替换"1"的下一次出现,并"aa"通过"2"等.
所以,字符串的结果变成了"1bbcc2".
我有一个很大的对话,我把它当作字符串处理,在字符串之间有很多白色空格也可能是不可见的非字字符.下面是一个示例字符串:
public static void main(String[] args) {
String str = " TWD day count Spot 6-Sep / 2-Sep 2016 1W7d 13-Sep / 9-Sep 2016 1M30d 6-Oct / 4-Oct 2016 2M62d 7-Nov / 3-Nov 2016 3M91d 6-Dec / 2-Dec 2016 6M181d 6-Mar / 2-Mar 2017 9M273d 6-Jun / 2-Jun 2017 12M365d 6-Sep / 4-Sep 2017 18M546d 6-Mar / 2-Mar 2018 24M730d 6-Sep / 4-Sep 2018";
str = str.toString().replaceAll(" +", "");
System.out.println("str="+str.toString().trim().replaceAll(" ", ""));
}
Run Code Online (Sandbox Code Playgroud)
我试过很多字符串函数删除空格状trim(),replaceAll(" ",""),replaceAll("\\s","") …
我正在编写 map reduce 程序来比较两个文件。当我运行该程序时,它会引发以下异常。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at org.apache.hadoop.metrics2.lib.MutableMetricsFactory.getName(MutableMetricsFactory.java:119)
Run Code Online (Sandbox Code Playgroud)
我的 pom 文件。
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>0.23.1</version>
</dependency>
<dependency>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
<type>jar</type>
<version>15.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
考虑如下带有分隔符的字符串__|__。
String str = "a_b__|__c_d";
Run Code Online (Sandbox Code Playgroud)
str.split("__\\|__")给出 2 个分裂 a_b 和 c_d
StringUtils.split(str, "__|__") or StringUtils.split(str, "__\\|__")给出 4 个分裂 a、b、c、d,这是不需要的。
有没有办法让 StringUtils.split() 给出相同的结果 String.split()?