问题:返回给定字符串的一个版本,其中对于字符串中的每个星号(),其左右两侧的星号和字符都消失了。所以“abcd”产生“ad”,而“abcd”也产生“ad”。例如starOut(“abcd”)→ “ad”开始(“abcd”)→ “ad”starOut(“smeilly”)→ “傻”
我知道网上有答案,但我不想复制它们。我已经开始使用它的大部分内容,但不知道如何去掉空格并转换回字符串?如果你们有更好的解决方案,请随时提供。请不要提供基于正则表达式的解决方案。
public static String starOut(String str) {
char[] array = str.toCharArray();
for(int i = 0; i < array.length; i++) {
if(array[i] == '*' && i != 0) {
if(array[i - 1] != '*') {
array[i - 1] = ' ';
}
if(array[i + 1] != '*') {
array[i + 1] = ' ';
}
}
//Rest of Code...
if()
}
return str;
}
您可以获取代码,然后循环遍历数组并将其附加到StringBuilder。
但是,如果输入可以包含空格,这将是有问题的,因为我们只是忽略所有的空格。如果输入可以包含空白,可以考虑将字符设置为其他对象,或者使用对象字符,这样就可以将其设置为NULL。
public static String starOut(String str) {
char[] array = str.toCharArray();
for (int i = 0; i < array.length; i++)
if (array[i] == '*') {
if (i - 1 >= 0 && array[i - 1] != '*')
array[i - 1] = ' ';
if (i + 1 < array.length && array[i + 1] != '*')
array[i + 1] = ' ';
array[i] = ' ';
}
StringBuilder sb = new StringBuilder();
for (char c : array)
if (c != ' ')
sb.append(c);
return sb.toString();
}
此代码未通过此标准的测试:给定一个字符串,计算以“y”或“z”结尾的单词数——因此“重”中的“y”和“fez”中的'z”计数,而不是“黄色”中的‘y’(不区分大小写)。如果一个单词后面没有一个字母,我们会说一个y或z在单词的末尾。(注意:Character.islet(char)测试char是否为字母。) 我用手跟踪它,但似乎不明白为什么它在许多测试中都不工作。例如,在“day fyyyz”中,它
键盘输入 电脑的智能,一种体现就是可以接受用户通过键盘输入的内容。 通过Python能不能实现这个简单的功能呢?当然能,要不然Python如何横行天下呀。 不过在写这个功能前,要了解函数: Python 2:raw_input() Python 3: input() 这是Python的内建函数(built-in function)。关于内建函数,可以分别通过下面的链接查看: Python 2的内建
在大多数的情况下,API所支持模式匹配的基本形式是匹配字符串,如果正则表达式是foo,输入的字符串也是 foo,这个匹配将会是成功的,因为这两个字符串是相同的。试着用测试用具来测试一下: Enter your regex: foo Enter input string to search: foo I found the text "foo" starting at index 0 and end
问题内容: 我收到一个json数据对象,然后从中提取一个字符串 然后我尝试使该字符串适合在URL中使用 但它不起作用 如果我对newCountryString进行了硬编码,它将起作用,为什么呢? 问题答案: 用这个 - 此代码将使用给定的编码返回接收方的表示形式,以确定将接收方转换为合法URL字符串所需的转义百分比。 有关更多详细信息:https : //developer.apple.com/d
字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是655
字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是655