我有一串用破折号分隔的数字,我要从中删除重复的数字
string original = "45-1-3-45-10-3-15";
string new = "45-1-3-10-15";
Run Code Online (Sandbox Code Playgroud)
我尝试了两种方法,并使用秒表来确定哪种方法更快,但是我得到的时间流逝不一致,因此我希望了解哪种方法对于实现新的无重复列表更有效。
方法一:While循环
List<string> temp = new List<string>();
bool moreNumbers = true;
while (moreNumbers)
{
if (original.Contains("-"))
{
string number = original.Substring(0, original.IndexOf("-"));
//don't add if the number is already in the list
int index = temp.FindIndex(item => item == number);
if (index < 0)
temp.Add(value);
original = original.Substring(original.IndexOf("-") + 1);
}
else
moreNumbers = false;
}
//add remaining value in
string lastNumber = original;
//don't add if the number is already …Run Code Online (Sandbox Code Playgroud) Split() function uses whitespace string as separator and removes the empty strings, so I think there is no use using strip() or rstrip() function to remove extra whitespace in head or tail. And here is my example:
a = ' \n 1 2 3 4 \n\n 5 \n\n \t'
b = a.rstrip().split()
c = a.split()
print('b =',b)
print('c =',c)
Run Code Online (Sandbox Code Playgroud)
The result turns out to be:
b = ['1', '2', '3', '4', '5']
c = ['1', '2', '3', '4', '5']
Run Code Online (Sandbox Code Playgroud)
It …
我有这个连续的串行数据流:
----------------------------------------
SENSOR COORDINATE = 0
MEASURED RESISTANCE = 3.70 kOhm
----------------------------------------
----------------------------------------
SENSOR COORDINATE = 1
MEASURED RESISTANCE = 3.70 kOhm
----------------------------------------
----------------------------------------
SENSOR COORDINATE = 2
MEASURED RESISTANCE = 3.69 kOhm
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
对于每次迭代,我希望能够获取值。传感器坐标值和电阻值。
我找到了使用.split()和使用正则表达式(
在两个子字符串之间查找字符串)的解决方案,但问题是在我的情况下,我想要过滤的不是一个字符串,而是一个连续的流。
例如,.split()会找到我的字符串,但它会将流分成两半。这在连续流中不起作用超过一次。
注意:在传感器坐标值之后,我有一个回车符。
编辑 1/3:这是获取串行数据的代码片段:
def readSerial():
global after_id
while ser.in_waiting:
try:
ser_bytes = ser.readline() #read data from the serial line
ser_bytes = ser_bytes.decode("utf-8")
text.insert("end", ser_bytes)
except UnicodeDecodeError:
print("UnicodeDecodeError")
else:
print("No data received")
after_id=root.after(50,readSerial)
Run Code Online (Sandbox Code Playgroud)
如果有人想知道,这是 arduino 端的 C 代码,用于发送数据: …
如果字符之间的空格是单词的一部分,如何将字符串转换为字符串数组?
我拥有的:
String phoneNumbers = "987-123-4567 123 456 7890 (123) 456-7890";
Run Code Online (Sandbox Code Playgroud)
我想要它是什么:
String[] numbers = {"987-123-4567", "123 456 7890", "(123) 456-7890"};
Run Code Online (Sandbox Code Playgroud)
当我试图分裂时:
String[] array = phoneNumbers.split(" ");
Run Code Online (Sandbox Code Playgroud)
结果是:
[987-123-4567, 123, 456, 7890, (123), 456-7890]
Run Code Online (Sandbox Code Playgroud) 我需要获取字符串的 a 部分,即: { "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }
我尝试过使用 split、splitafter。我需要得到这个令牌,只是令牌。
我有一个像这样的字符串:
s = 'aaabcdedddd'
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想将字符串分割成这样的东西。
s = ['aa', 'a', 'b', 'c', 'd', 'e', 'dd', 'dd']
Run Code Online (Sandbox Code Playgroud)
请注意, 的三个字母重复'aaa'不是放在一起的,而是被视为双重复 + 单个字母 ( 'aa'+ 'a'。'dddd'末尾的 被视为双重复 + 双重复 ( 'dd'+ 'dd')。
有什么办法可以有效地做到这一点吗?
如果这是我的字符串:"blablabla(blablabla)".我应该使用哪个正则表达式来分割字符串,以便返回:
顺便说一句,我想使用函数mb_split.
编辑 字符串也可以是"blablabla blablabla blablabla(blablabla)."explode()因为这个不起作用.
编辑,这就是我现在使用的:
例如,$ name ="blabla blabla blabla blabla(blabla)";
$name = explode(' ', $name);
$last = array_pop($name);
$sentence = null;
foreach ($name as $names) {
$sentence .= $names.' ';
}
$sentence = mb_substr($title, 0, -1, 'UTF-8');
Run Code Online (Sandbox Code Playgroud) 嗨,我的视图中有一个数组,例如
user_domain_array = ['rohit@ghrix.com','rahul@ghrix.com','rishi@ghrix.com']
Run Code Online (Sandbox Code Playgroud)
我需要从所有电子邮件 ID 中删除之前 每个元素中的文本@,以便我可以获得如下 值
ghrix.com
Run Code Online (Sandbox Code Playgroud)
请建议我该怎么做。
我遇到的情况是我的数据来自服务器端,我必须将句子分成两行,
Example: Payment: xyz is done Removal: Refund made
Run Code Online (Sandbox Code Playgroud)
现在我必须通过在<br>前面添加一个标签将这句话分成两行Removal
需要帮助,尝试过indexOf,split但我无法找到解决方法。
我需要从包含类似以下格式的行的日志中检索值,因为我的输入行如下所示:
line = "(last_bytes wrote 66560002, cur_bytes read 33280206, curr_bytes wrote 66560002, blks read 103335128)"
Run Code Online (Sandbox Code Playgroud)
我需要根据我的搜索字符串获取值
Ex: search(last_bytes wrote) = 66560002
search(cur_bytes read) = 33280206
Run Code Online (Sandbox Code Playgroud)
我曾尝试在写入/读取后分割行并搜索下一个字符串,但这似乎确实返回了意外的值。
有没有办法在 python 中获取这些值?
split ×10
python ×5
string ×5
regex ×3
python-3.x ×2
c# ×1
django ×1
duplicates ×1
glide-golang ×1
go ×1
java ×1
javascript ×1
jquery ×1
loops ×1
performance ×1
php ×1
strip ×1
view ×1