我正在尝试编写一个方法,它接受一个输入字符串,并在指定位置添加一个字符。inputString有42个字符,分为7个“列”,当用户输入时,该方法应该接受该输入并将"X“放在适当的位置。代码如下:
private String enterToken(String tokenSymbol, String inputString, int column){
String columnEdit = inputString.substring(column*6-6,column*6);
String columnEdit1 = columnEdit.trim();
String columnEdit2 = columnEdit1+tokenSymbol+" ";
String columnEdit3 = columnEdit2.substring(0,6);
String start = inputString.replace(inputString.substring(column*6-6,column*6),columnEdit3);
System.out.println(start);
return start;
}
例如,当我给它一个42个空格的输入,我给它一列2,它给我的输出是
"X X X X X X X "
而它应该给我一个像这样的
" X "
有什么想法吗?
发布于 2012-08-22 08:16:35
这里有一个解决方案:
private String enterToken(String tokenSymbol, String inputString, int column) {
int colWidth = inputString.length() / 7;
int tokenPos = (column-1) * colWidth;
String inputStart = inputString.substring(0, tokenPos);
String inputEnd = inputString.substring(tokenPos+1);
return inputStart + tokenSymbol+inputEnd;
}
发布于 2012-08-22 08:03:31
您将对整个字符串调用replace
,而不仅仅是要对其执行操作的子字符串。即inputString.replace(...)
您需要拆分字符串,在子字符串上调用replace
,然后将字符串连接在一起以返回。
https://stackoverflow.com/questions/12064625
复制相似问题