首页 > 解决方案 > 分隔符上的 Java 子字符串不使用拆分或正则表达式

问题描述

我有一个单独的测试类,它将传入一个高值和低值的字符串,中间有一个:,代表数字 0-6。一个例子是“6:2”。我需要根据分隔符分隔这些数字:分隔符,但我的教授不希望我使用拆分或任何正则表达式。

public class DominoHighLowImpl_Laursen implements Domino {

public static final String HIGH_LOW_STRING_SEPARATOR = ":";

public DominoHighLowImpl(String highLowString) 
{



}

所以打字

String substr = highLowString.substring(highLowString.indexOf(HIGH_LOW_STRING_SEPARATOR) + 1);  

按我的预期返回分隔符后的数字

String substr = highLowString.substring(highLowString.indexOf(HIGH_LOW_STRING_SEPARATOR) - 1);

不返回分隔符之前的数字。我在最后一部分做错了什么?

标签: javasubstring

解决方案


检查substring(int beginIndex)substring(int beginIndex, int endIndex)

String high = highLowString.substring(0, highLowString.indexOf(HIGH_LOW_STRING_SEPARATOR));
String low = highLowString.substring(highLowString.indexOf(HIGH_LOW_STRING_SEPARATOR) + 1);

推荐阅读