Java 如何剥离&x27\n';在爪哇?

Java 如何剥离&x27\n';在爪哇?,java,Java,我有以下代码: String name='ishtiaq\n' 如何剥离换行符 先谢谢你 如果“\n”总是出现在结尾,请使用[如果您愿意,这不会删除句点]。如果要消除内部换行符,可以使用。您还可以将字符串复制到或数组中以构造新字符串,跳过要放弃的元素,或者可以找到相关索引并使用以获取排除不喜欢的元素的子字符串。简而言之,有很多方法可以做到这一点 以下是多种方法中的一种(此方法同时删除句号和换行符): 不带uffix的私有静态字符串名(字符串名带uffix){ int periodIndex=na

我有以下代码:

String name='ishtiaq\n'

如何剥离换行符

先谢谢你

如果“\n”总是出现在结尾,请使用[如果您愿意,这不会删除句点]。如果要消除内部换行符,可以使用。您还可以将字符串复制到或数组中以构造新字符串,跳过要放弃的元素,或者可以找到相关索引并使用以获取排除不喜欢的元素的子字符串。简而言之,有很多方法可以做到这一点

以下是多种方法中的一种(此方法同时删除句号和换行符):

不带uffix的私有静态字符串名(字符串名带uffix){
int periodIndex=nameWithSuffix.indexOf('.');
int newlineIndex=nameWithSuffix.indexOf('\n');
如果((periodIndex=-1)和&(newlineIndex=-1)){
返回带有uffix的名称;
}
int后缀startIndex=-1;
如果(周期索引!=-1){
后缀开始索引=周期索引;
}
if((newlineIndex!=-1)
&&((后缀开始索引==-1)
||(换行索引<后缀开始索引))){
suffixStartIndex=换行索引;
}
返回带有suffix.substring(0,后缀开始索引)的名称;
}

Java字符串具有
。请替换

有了它,您的问题变得超级简单:

String strippedString=name.replace(“\n”和“”)


记住:当您使用
替换
时,Java将无法处理现有字符串。这就是为什么必须将返回值存储在另一个对象中。(您当然可以使用相同的方法。)

是换行符还是字面上的“\n”在您的示例中有一个“
,您也要删除它吗?
替换('\n','')
不会编译。它怎么不编译?空字符文本无效。对不起,我修复了它。伪我:(这是因为我来自python背景,如果字符串或字符不是用户可读的,我总是使用单引号。
replace('\n',“”)
不会编译。谢谢Michael Aaron Safyan爵士,它工作得很好,但是为什么呢当我逐行从文件中读取数据并用单词将其存储在字符串数组中时,不起作用?@ishtiaq replaceAll()和replace()应该起作用,假设您正在保存这些函数的返回值(调用函数的原始字符串未被修改;相反,通过这些修改创建并返回副本)。还值得注意的是,其中一些方法将正则表达式作为参数,因此您需要确保使用与换行符匹配的有效正则表达式,而不是严格意义上的文字换行符。
private static String nameWithoutSuffix(String nameWithSuffix) {
  int periodIndex = nameWithSuffix.indexOf('.');
  int newlineIndex = nameWithSuffix.indexOf('\n');
  if ((periodIndex == -1) && (newlineIndex == -1)) {
    return nameWithSuffix;
  }

  int suffixStartIndex = -1;
  if (periodIndex != -1) {
    suffixStartIndex = periodIndex;
  }
  if ((newlineIndex != -1)
      && ((suffixStartIndex == -1)
          || (newlineIndex < suffixStartIndex))) {
     suffixStartIndex = newlineIndex;
  }

  return nameWithSuffix.substring(0, suffixStartIndex);
}