如何在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')

我在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')));
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