如何在java中修剪特定字符后的字符串
我在java中有一个字符串变量,其值为:如何在java中修剪特定字符后的字符串,java,Java,我在java中有一个字符串变量,其值为: String result="34.1 -118.33\n<!--ABCDEFG-->"; 我该怎么做?我不熟悉java编程语言 谢谢,假设您只需要\n(或任何其他文字字符串/char)之前的所有内容,您应该使用: 如果要提取某个正则表达式之前的部分,可以使用: String result=“34.1-118.33\n”; System.out.println(result.substring(0,result.indexOf('\n')
String result="34.1 -118.33\n<!--ABCDEFG-->";
我该怎么做?我不熟悉java编程语言
谢谢,假设您只需要
\n
(或任何其他文字字符串/char)之前的所有内容,您应该使用:
如果要提取某个正则表达式之前的部分,可以使用:
String result=“34.1-118.33\n”;
System.out.println(result.substring(0,result.indexOf('\n')));
System.out.println(result.split(“\n”,2)[0]);
34.1 -118.33
34.1 -118.33
(显然,\n
不是一个有意义的正则表达式,我只是用它来证明第二种方法也有效。)尝试以下方法:
String result = "34.1 -118.33\n<!--ABCDEFG-->";
result = result.substring(0, result.indexOf("\n"));
String result=“34.1-118.33\n”;
result=result.substring(0,result.indexOf(“\n”);
使用扫描仪
输入分隔符和原始字符串:
result = new Scanner(result).useDelimiter("\n").next();
怎么样
Scanner scanner = new Scanner(result);
String line = scanner.nextLine();//will contain 34.1 -118.33
您可以使用:
result = result.split("\n")[0];
使用正则表达式:
result = result.replaceAll("\n.*", "");
replaceAll()
使用正则表达式查找其目标,我将其替换为“nothing”-有效地删除目标
我由正则表达式指定的目标
\n.*
表示“换行符和“之后的所有内容,您可以使用result=result.replaceAll(“\n”和“”)代码>
或
有很多很好的答案,但我会使用from。我发现StringUtils.substringBefore()
比其他选项更具可读性:
String result = StringUtils.substringBefore("34.1 -118.33\n<!--ABCDEFG-->", "\n");
String result=StringUtils.substringBefore(“34.1-118.33\n”,“\n”);
您可以使用StringTokenizer:
StringTokenizer st = new StringTokenizer("34.1 -118.33\n<!--ABCDEFG-->", "\n");
System.out.println(st.nextToken());
34.1 -118.33
这是最简单的方法,你可以做,减少你的努力。
只需将此函数粘贴到类中并在任意位置调用即可:
可以通过创建子字符串来实现这一点
这里有一个简单的例子:
publicstaticstringremovetillword(字符串输入,字符串字){
返回input.substring(input.indexOf(word));
}
删除illword(“您的字符串”,“\”)
你尝试过什么吗?从来没有想过在这种情况下使用nextLine()
。@gparyani是的,但是在这种情况下nextLine
就足够了:)如果你只对第一个元素感兴趣,你可以split(“\n”,2)[0]代码>以提高性能。@jlordo sweet!我不知道第二个可选参数-谢谢!对我的问题有什么想法吗:谢谢你教我如何使用StackOverflow上的
标记:)谢谢你的帮助。
result = result.split("\n")[0];
result = result.replaceAll("\n.*", "");
String[] split = result.split("\n");
String result = StringUtils.substringBefore("34.1 -118.33\n<!--ABCDEFG-->", "\n");
StringTokenizer st = new StringTokenizer("34.1 -118.33\n<!--ABCDEFG-->", "\n");
System.out.println(st.nextToken());
34.1 -118.33