繁体   English   中英

在String java中终止一个char

[英]Eleminate a char in String java

我怎么能最后一个,| 在这个String

String model ="07:40,09:00,10:20,11:40,|09:00,10:20,11:40,|07:40,09:00,10:20,11:40,|10:20,11:40,|";

model是变量String ,结果应该是这样的:

String result="07:40,09:00,10:20,11:40,|09:00,10:20,11:40,|07:40,09:00,10:20,11:40,|10:20,11:40";

如果它总是,| 并且你不知道它是否会出现使用replaceFirst

model = model.replaceFirst(",\\|$", "");

PS $代表String的结尾

   String model ="07:40,09:00,10:20,11:40,|09:00,10:20,11:40,|07:40,09:00,10:20,11:40,|10:20,11:40,|";
   String result = model.substring(0, model.length() -2);
   System.out.println(result);

javadoc: substring(int beginIndex,int endIndex) :返回一个新字符串,它是该字符串的子字符串。

如果这总是出现,你可以剪掉字符串的末尾。 为此,您可以使用此代码:

result = model.substring(0, path.length() - 2);

如果它有时只发生,你可以这样做:

if (model.substring(path.length - 2, path.length).equals(",|")) {
    result = model.substring(0, path.length() - 2);
} else {
    result = model
}

尝试StringUtils

import org.apache.commons.lang3.StringUtils;

// model = "07:40,09:00,10:20,11:40,|09:00,10:20,11:40,|07:40,09:00,10:20,11:40,|10:20,11:40,|"
model = StringUtils.removeEnd(model, ",|");
// Now 
// model = "07:40,09:00,10:20,11:40,|09:00,10:20,11:40,|07:40,09:00,10:20,11:40,|10:20,11:40";
String correctedModel=new StringBuilder(model).deleteCharAt(model.lastIndexOf('|')).toString();

检查docs StringBuilder.deleteChartAt()String.lastIndexOf()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM