小编Had*_*obi的帖子

为与字符串中某个正则表达式匹配的数字加一

我有一个看起来像这样的 Python 字符串:

"5 pounds cauliflower,
cut into 1-inch florets (about 18 cups)
2 large leeks,
1 teaspoons salt
3 cups of milk"
Run Code Online (Sandbox Code Playgroud)

我需要为关键字之前出现的每个数字加 1 cup

结果需要是:

"5 pounds cauliflower,
cut into 1-inch florets (about 19 cups)
2 large leeks,
1 teaspoons salt
4 cups of milk"
Run Code Online (Sandbox Code Playgroud)

我有一些类似的事情:

import re

p = re.compile('([0-9]+) cup')
for i in p.finditer(s):
    # do something with int(i.group(1)) + 1
Run Code Online (Sandbox Code Playgroud)

我不知道如何仅替换我在每次迭代中找到的数字。

我还有一种边缘情况,我可能需要将 9 替换为 10,因此我不能简单地获取数字的索引并将该数字替换为新数字,因为新数字可能会更长。

不涉及正则表达式的解决方案也受到欢迎。

python regex

5
推荐指数
1
解决办法
1034
查看次数

使用默认值初始化数组中的对象 - java

有没有办法为要初始化的数组中的对象定义默认值?

与声明其数组时初始化基本类型的方式相同:

int[] myIntArray = new int[5]; // we now have an array of 5 zeroes
char[] myCharArray = new char[2]; // an array in which all members are "\u0000"
Run Code Online (Sandbox Code Playgroud)

等等

我想声明一个我定义的类型的对象数组,并让它们以类似的方式自动初始化.我想这意味着我想new myObject()为数组中的每个索引运行(使用默认构造函数).

我无法在网上找到任何相关内容,我得到的最接近的是Arrays.fill(myArray, new MyObject())在初始化数组后使用(实际上只是创建一个对象并用指针填充数组),或者只是使用循环来遍历数组并初始化每个单元格.

谢谢!

编辑:我意识到这不仅与数组相关,而且与一般声明对象并使它们默认为值/自动初始化有关.

java arrays default-value

2
推荐指数
1
解决办法
5632
查看次数

标签 统计

arrays ×1

default-value ×1

java ×1

python ×1

regex ×1